我正在尝试获取方法名称并将其添加到列表中。我环顾四周,发现了各种动作。到目前为止,我有以下内容:
Protected Function MethodToString(method As Action) As String
Return method.Method.Name
End Function
...
Me.Stages.Add(MethodToString(GetWeightFromSID()))
但在调用时它不起作用,因为它表示表达式不会产生值。我几乎只是在寻找方法名称。任何建议都非常感谢。
答案 0 :(得分:3)
操作是委托,因此您需要传递address of the method,而不是调用方法:
Me.Stages.Add(MethodToString(AddressOf GetWeightFromSID))
答案 1 :(得分:1)
另一种方法是使用Reflection,例如将当前类的所有方法名称都设为List(of String)
:
' get names of all properties and methods in the current class '
Dim methodNames = (From info In Me.GetType.GetMethods Select info.Name).ToList