この匿名メソッドを置き換えたい場合:
Func<int, int> f = delegate(int i)
{
return i + 1;
};
式ツリーを使用すると、次のようになります。
ParameterExpression i = Expression.Parameter(typeof(int), "i");
Expression one = Expression.Constant(1, typeof(int));
Expression body = Expression.Add(i, one);
Func<int, int> f = Expression.Lambda<Func<int, int>>(body, i).Compile();
(私は知っています:式ツリーは密かに別の任意のメソッドを動的に作成しますが、それは重要ではありません)。
ここで、次のメソッドを式ツリーに置き換えたいと思います。
Func<int, int> f = delegate(int i)
{
Debug.WriteLine("Inside the function!");
return i + 1;
};
方法はありますか?どうすればこれを行うことができますか?