在 post .Net 2.0 中组合谓词

Combining Predicates in post .Net 2.0

像我们为 Expression.AndAlso

那样组合谓词的方式是什么

我有一个谓词

Predicate<Foo> predicate = p1 => (p1.IsActive) && p1.Type != "BR";

Predicate<Foo> datePredicate = p1 => (p1.Year) == DateTime.Now.Year;

基于某些条件,我想将两者结合起来,以便可以将结果谓词传递给接受单个谓词参数的方法。

predicate = predicate.????(datePredicate);

那么有什么方法呢?

您可以按如下方式组合谓词

Predicate<Foo> datePredicateAnd = p =>(predicate(p) && datePredicate(p));