匿名方法的源代码

本文关键字:源代码 方法 | 更新日期: 2023-09-27 18:01:54

如何获得匿名方法的源代码?

例如:

Func<Boolean> func = (() => DateTime.Now.Seconds % 2 == 0);
Console.WriteLine(GetSourceCode(func)); // must: DateTime.Now.Seconds % 2 == 0
String GetSourceCode<T>(Func<T> f) - ???

匿名方法的源代码

你可以把它包装在Expression里面,然后调用ToString(),这样你就可以得到源代码了

像这样:

Expression<Func<Boolean>> func = (() => DateTime.Now.Seconds % 2 == 0);
var str = func.ToString();

输出str变为() => DateTime.Now.Seconds % 2 == 0