返回func<>的具体实现的名称代表

时间:2017-12-07 17:48:07

标签: c# reflection nameof

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;在字符串中。

1 个答案:

答案 0 :(得分:4)

Console.WriteLine(theDelegate.Method.Name);

但请注意:对于涉及委托的一系列场景,例如组合委托或lambdas /匿名方法,这不会很好。