Можно ли обнаружить, что объект MethodInfo ссылается на подпрограмму или функцию? - PullRequest
0 голосов
/ 23 сентября 2018

Я бы хотел провести различие между этими двумя случаями, например, в этом коде:

For Each method As Reflection.MethodInfo In Type.GetType("WindowsApplication2.clsTest").GetMethods()
    Select Case method.Name
        Case "ToString", "Equals", "GetHashCode", "GetType"
        Case Else
            Debug.Print(method.GetType().ToString)
    End Select
Next

Или, что еще лучше, возможно ли выполнять итерации только по подпрограммам или функциям?

Спасибо.

1 Ответ

0 голосов
/ 23 сентября 2018

Класс MethodInfo имеет свойство ReturnType, а тип возврата Sub равен Void, поэтому вы можете сделать что-то вроде этого:

For Each method As Reflection.MethodInfo In Type.
                    GetType("WindowsApplication2.clsTest").GetMethods().
                        Where(Function(m) m.ReturnType IsNot GetType(Void))

    Select Case method.Name
        Case "ToString", "Equals", "GetHashCode", "GetType"
        Case Else
            Debug.Print(method.Name)
    End Select
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...