C# 用c语法聚合两个表达式

C# 用c语法聚合两个表达式,c#,C#,如何在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

如何在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)                   
}

简而言之,C 3.0的作者Joe Albahari和LINQPad编写了一个名为PredicateBuilder的实用程序,可以将and和OR函数一起使用

当它在函数上工作时,它是开源的,所以您可以查看它并了解它是如何工作的。

我找到了解决方案


表达式类的非常好的扩展方法

什么保证T将具有DeleteDate?这是泛型类方法的一部分