Как получить доступ к функциям из модуля - PullRequest
0 голосов
/ 24 октября 2018

Мне нужно получить доступ к публичным функциям в модуле (не в классе).Вот что я попробовал:

    Dim asm As Reflection.Assembly = Assembly.GetExecutingAssembly
    Dim my_modules = asm.GetModules
    For Each my_module In my_modules
        Dim all_methods = my_module.GetMethods
        Stop
    Next

Но это даже не касается самого модуля, я просто получаю имя исполняемого файла.

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Как сказал @jmcilhinney в комментариях, модуль похож на класс при использовании отражения.Вы можете получить к нему доступ, используя метод GetType или GetTypes.

Dim asm As Assembly = Assembly.GetExecutingAssembly
Dim my_module = asm.GetType("Module_Full_Name")
Dim allMethods = my_module.GetMethods()
0 голосов
/ 24 октября 2018

Модуль в VB.NET - это не что иное, как статический класс.Вы не создаете экземпляр статического класса, просто вызываете его члены из любой области видимости, где объявлен модуль.

Public Module Mathematics
  Public Function Sum(x As Integer, y As Integer) As Integer
    Return x + y
  End Function
End Module

Class Form1
  Public Sub New()
    InitializeComponent()
    Dim result = Mathematics.Sum(1, 2)
  End Sub
End Class
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...