【发布时间】:2010-12-13 14:44:45
【问题描述】:
我对 .NET 中的 Expressions 的经验非常低,这就是为什么我宁愿问你们。
我应该怎么做 - 请参阅下面的评论:
using P = Myclass;
..
System.Linq.Expressions.Expression<Func<P, bool>> myExpression = null;
..
myExpression1 = x => foo1 == true && foo2 == false;
myExpression2 = x => ... ;
..
BinaryExpression resultExpression = System.Linq.Expressions.Expression.OrElse(myExpression1, myExpression2);
..
IQueryable<P> l = l.Where(?resultExpression?); // how to transform BinaryExpression to the suitable type?
谢谢
【问题讨论】:
-
要正确理解这一点 - 您想要获取任意大小的表达式 S 列表并将它们组合在一起,因此结果类似于:
resultExpression = x => S[0](x) || S[1](x) || S[2](x) ... || S[n](x)。对吗?
标签: c# .net lambda expression