我有一个N System.Linq.Expressions.Expression
的序列,我想将它转换成一个N-Nary表达式,它将我的所有表达式连接成一个N-1次运算符。创建一个n-nary表达式
因此,对于4个表达式的集合{e1, e2, e3, e4}
和运营商AND
我会得到:e1 AND e2 AND e3 AND e4
。
由于操作是一样的,我可以通过简单地链接在一起,N-1 BinaryExpressions
Expression result = (((e1 AND e2) AND e3) AND e4);
但我想有可能是这样做的一个简单的方法创建一个表达式。基本上像
Expression.NNary(ExpressionType operator, IEnumerable<Expression> expressions)
有没有这样的事情已经落实或做我有BinaryExpressions
办呢?
但是,这怎么可以用来组合表达式?这就是问题所在。 –
这只是用BinaryExpressions做的简短/ linq方式,而不是循环收集并手动完成。 – Adrian