我使用C#。
当我在下面定义Hoge
方法时,
void Hoge(bool isBar){}
我得到如下的Hoge方法
var methodName = this.Hoge as Action<bool>).Method.Name;
但是,我无法理解this.Hoge
输入的内容。
因为,它可以分配和转换。
但是,它不能直接给我方法名称。
this.Hoge.Method.Name;
而且,它也是错误的。 typeof(this.Hoge)
究竟什么是方法变量?
答案 0 :(得分:1)
您提供的代码不是有效的C#代码,因此很难理解您的要求。但我认为你正试图理解表达式this.Hoge
如何被翻译成最终可以为你提供方法名称的东西。
如果是这样,那么您的代码示例应该看起来像这样:
var methodName = ((Action<bool>)this.Hoge).Method.Name;
这样做是隐式创建委托类型的实例(在这种情况下,类型为Action<bool>
),就好像你写的那样:
var methodName = new Action<bool>(this.Hoge).Method.Name;
当然,一旦你有一个委托类型,那个类型就有一个Method
property,它返回一个MethodInfo
对象,当然,它有一个Name
属性。< / p>
如果这不是您要求的,请通过提供有关您所询问内容的有效,可编译的C#示例以及有关该代码的更精确措辞的问题来改进您的问题。