如果我想替换这个匿名方法:
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;
};
有没有方法实现这个操作?如何实现?