聚合c#语法中的两个表达式
本文关键字:两个 表达式 语法 聚合 | 更新日期: 2023-09-27 18:16:40
如何在c#中聚合两个表达式?例如:
public virtual List<T> List(Expression<Func<T, bool>> filters, bool includeHistory = false, params Expression<Func<T, object>>[] include)
{
// HOW TO DO THIS?
filters = includeHistory ? filters : filters.Add(e=>e.DeleteDate == null);
List<T> entities = _baseDao.List<T>(filters, sorting, include)
}
Joe Albahari (c# 3.0 in a Nutshell和LINQPad的作者)编写了一个名为PredicateBuilder的实用程序,可以将and和OR函数一起使用。
http://www.albahari.com/nutshell/predicatebuilder.aspx虽然它在函数上工作,但它是开源的,所以你可以检查它并看看它是如何工作的。
我在这里找到了解决方案
非常好的扩展表达式类的方法