デリゲートと式木の文字列表現
ふと思いついて試してみました。
using System; using System.Linq.Expressions; class Program { static void Main() { // コンパイルエラー : 演算子 '.' を 'ラムダ式' 型の // オペランドに適用することはできません。 //Console.WriteLine( ( x => x + 1 ).ToString() ); // System.Func`2[System.Int32,System.Int32] Func<int, int> func = x => x + 1; Console.WriteLine( func.ToString() ); // x => (x + 1) Expression<Func<int, int>> expr = x => x + 1; Console.WriteLine( expr.ToString() ); Console.ReadKey(); } }
なるほどね。