强类型方法名称

时间:2012-01-04 13:00:51

标签: .net vb.net

我正在尝试获取方法名称并将其添加到列表中。我环顾四周,发现了各种动作。到目前为止,我有以下内容:

    Protected Function MethodToString(method As Action) As String

        Return method.Method.Name

    End Function

 ...

    Me.Stages.Add(MethodToString(GetWeightFromSID()))

但在调用时它不起作用,因为它表示表达式不会产生值。我几乎只是在寻找方法名称。任何建议都非常感谢。

2 个答案:

答案 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