【问题标题】:Generic method for Predicate Builder谓词生成器的通用方法
【发布时间】:2015-09-02 10:11:08
【问题描述】:

我使用 LinqPad Predicatebuilder 根据动态输入生成 Linq 查询。在代码中,我有很多 if-cases 来检查输入是否具有特定属性的值,如下所示:

if (!string.IsNullOrEmpty(searchInput.modelname))
{
    searchPredicate = searchPredicate.And(stock => stock.ModelName.ToLower().Equals(searchInput.modelname.ToLower()));
}

有没有办法创建一个通用方法,我可以只使用股票属性的值和名称来调用它?喜欢:

searchPredicate = AddAndPredicate(searchInput.modelName, "ModelName", searchPredicate)

【问题讨论】:

    标签: c# linq generics predicate


    【解决方案1】:

    您可以创建一个简单的方法,该方法接受一组参数和一个delegate 到一个Func<T, TObject>,它将评估您的状况。我将为你准备一个简单的例子。这不是一个完整的通用解决方案,但应该可以很好地重复使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-13
      • 1970-01-01
      相关资源
      最近更新 更多