Domanda

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) - ???
È stato utile?

Soluzione

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top