我是表达树的新手,我正在寻找一个可能包含其他表达式的表达式,并可能在我的代码中的不同位置动态地将这些表达式添加到自身。
看一下这个例子:
public void DoSomething()
{
var ex1 = Expression.Call(....);
// something else happens here
var ex2 = Expression.Loop(...);
// again something else
foreach(var item in items)
{
var ex3 = Expression.And(...);
}
var everythingInOneExpression = .. // here I would like to have all expressions in one
}
正如您在伪代码中看到的那样,正在创建表达式,其中一个甚至在foreach中,我希望最终将所有表达式放在一个大表达式中。
很难解释,但是那个大的有点像一个列表,它通过它的子表达式运行并执行它们,或类似的东西。它不是一个列表,而是一个表达式。 :)
有这么大的表达吗?我希望你能跟着我这个。
修改
大的应该运行它的项目/表达式并执行它们用和运算符链接它们。