C# 记录.NET Func的最佳方式是什么<&燃气轮机;

C# 记录.NET Func的最佳方式是什么<&燃气轮机;,c#,.net,reflection,C#,.net,Reflection,我有一个接受Func的泛型方法,我想记录传递到该方法中的Func。传入的func上有哪些属性可以帮助我了解它在做什么?您可以使用func.method.name记录方法名称,在MethodInfo类中还有一些其他有用的属性。但是,如果Func是匿名的,则不会得到非常有用的名称。正如使用表达式所指出的那样,我可以获得有关传入方法的更多信息。具体来说:我发现body属性将匿名方法签名作为字符串 使用Expression而不仅仅是Func。我希望您能得到的最好的工具是MethodInfo,它有很多细节

我有一个接受
Func
的泛型方法,我想记录传递到该方法中的Func。传入的func上有哪些属性可以帮助我了解它在做什么?

您可以使用
func.method.name
记录方法名称,在
MethodInfo
类中还有一些其他有用的属性。但是,如果
Func
是匿名的,则不会得到非常有用的名称。

正如使用
表达式所指出的那样,我可以获得有关传入方法的更多信息。具体来说:我发现
body
属性将匿名方法签名作为字符串


使用
Expression
而不仅仅是
Func
。我希望您能得到的最好的工具是
MethodInfo
,它有很多细节。不知何故,我并不期望这是您想要的。为什么要“记录”函数?调试器还不够好吗?或者可能是单元测试?@Jaroslav-分析表达式树需要相当多的工作…+1。显然,您仍然可以记录匿名函数的名称,但这不会特别有帮助。是的,这就是我的意思。谢谢你的澄清。