3
如果我要取代這個匿名方法:使用表達式樹更換匿名方法與表達式樹
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;
};
有沒有辦法,我如何做到這一點?
BlockExpression !!!那是我一直在尋找的! – 2013-04-30 10:21:39