如何以强类型方式动态获取特定方法的名称?

时间:2009-04-07 02:06:37

标签: c# vb.net reflection

我有点不确定如何在这个问题上标题,但我正在寻找VB.NET(或C#但目前使用VB.NET)的最短/最终方式来获取字符串值方法调用动态地给出方法名称。

例如,我有一个这样的课程:

Public Class Blah
    Public Sub Foo()
    End Sub
End Class

现在,Foo是动态设置的强类型封面,我有一个事件处理程序,当设置更改时将触发该事件处理程序并返回更改设置的字符串名称。

我希望能够在这个字符串上切换/选择一个基于Foo()方法的案例。为此,我需要能够从方法调用本身获取Foo方法的字符串名称(即以某种方式GetMethodName(blahInstance.Foo()))。

1 个答案:

答案 0 :(得分:7)

我目前没有VB.NET,但在C#中,我认为这就是答案。这看起来和你想要的一样吗?如果是这样,VB.NET语法应该相对简单:

     Blah blahInstance = new Blah();
     System.Action fooFunc = blahInstance.Foo;
     Console.WriteLine(fooFunc.Method.Name);