相关疑难解决方法(0)

C#4表达式树中的"动态"

我正在试图弄清楚如何将所有部分组合在一起,并希望从一个简单的案例开始的具体源代码示例.

考虑以下C#代码:

Func<int, int, int> f = (x, y) => x + y;
Run Code Online (Sandbox Code Playgroud)

我可以使用表达式树在运行时生成等效函数,如下所示:

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();
Run Code Online (Sandbox Code Playgroud)

现在给出以下lambda:

Func<dynamic, dynamic, dynamic> f = (x, y) => x + y;
Run Code Online (Sandbox Code Playgroud)

如何使用表达式树(并且,大概Expression.Dynamic)生成等效的?

c# dynamic expression-trees c#-4.0

49
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

c#-4.0 ×1

dynamic ×1

expression-trees ×1