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"。
Console.WriteLine(theDelegate.Method.Name);
但是请注意:对于涉及组合代表或lambdas/匿名方法等代表的各种场景,这都无法正常工作。