【发布时间】:2011-04-03 11:44:17
【问题描述】:
我正在尝试弄清楚如何将所有部分组合在一起,并希望有一个具体的源代码示例作为一个简单的案例开始。
考虑以下 C# 代码:
Func<int, int, int> f = (x, y) => x + y;
我可以在运行时使用表达式树生成一个等效函数,如下所示:
var x = Expression.Parameter(typeof(int), "x");
var y = Expression.Parameter(typeof(int), "y");
Func<int, int, int> f =
Expression.Lambda<Func<int, int, int>>(
Expression.Add(x, y),
new[] { x, y }
).Compile();
现在给出以下 lambda:
Func<dynamic, dynamic, dynamic> f = (x, y) => x + y;
如何使用表达式树(可能还有Expression.Dynamic)生成等效项?
【问题讨论】:
标签: c# dynamic c#-4.0 expression-trees