当前位置 : 主页 > 编程语言 > c语言 >

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

来源:互联网 收集:自由互联 发布时间:2021-06-25
我有点不确定如何将标题写入这个问题,但我正在寻找VB.NET中的最短/最终方式(或C#,但目前使用VB.NET)来获取方法的字符串值在方法调用时动态命名. 例如,我有一个这样的类: Public Class
我有点不确定如何将标题写入这个问题,但我正在寻找VB.NET中的最短/最终方式(或C#,但目前使用VB.NET)来获取方法的字符串值在方法调用时动态命名.

例如,我有一个这样的类:

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

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

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

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

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