【发布时间】:2016-02-08 03:09:25
【问题描述】:
我使用 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)
究竟什么是方法变量?
【问题讨论】:
-
"它不能直接给我方法名" - 如果你使用 C# 6.0,你可以使用
nameof(this.Hoge) -
感谢您的回复。但是,我不使用适合 4.0 的 C# 6.0,因为我的 C# 是 Mono 的。
-
即使我添加了缺少的括号,您的代码也无法编译。你能检查一下吗?您需要提供minimal reproducible example。
-
void Hoge(bool isBar){ return false; } -
@shinriyo 语言版本和运行时版本是两个不同的东西。您可以编译 C#6 代码,面向 .NET 4.5