tl; dr版本:nameof(ToCelsius)
返回ToCelsius
。我想要一些能够返回基础函数ToCelsiusByA
的名称的东西。
我的ToCelsius
被分配了一个具体的实现:
Func<decimal,decimal> ToCelsius = ToCelsiusByA;
然后我调用ToCelsius
函数:
var degreesC = ToCelsius(degreesF);
我想要返回已实现的功能(ToCelsiusByA
)的名称,所以我试试这个:
Console.WriteLine(degreesF + " degrees F is " + degreesC + " degrees C! using " + nameof(ToCelsius));
但是,当然,这显示了ToCelsuis&#39;在字符串中。
答案 0 :(得分:4)
Console.WriteLine(theDelegate.Method.Name);
但请注意:对于涉及委托的一系列场景,例如组合委托或lambdas /匿名方法,这不会很好。