Вопрос

How get a source code of anonymous method?

For example:

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

Console.WriteLine(GetSourceCode(func)); // must: DateTime.Now.Seconds % 2 == 0

String GetSourceCode<T>(Func<T> f) - ???
Это было полезно?

Решение

You can wrap it inside Expression and call ToString() on it and that will get you the source code.

Like this:

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

The output str becomes () => DateTime.Now.Seconds % 2 == 0

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top