gpt4 book ai didi

c# - 实现 LINQ 表达式参数

转载 作者:太空狗 更新时间:2023-10-29 20:55:43 26 4
gpt4 key购买 nike

我正在使用我发现的一个接口(interface),它有一个将 LINQ 表达式作为参数的方法。我将如何实现此方法以使用 LINQ 表达式?我可以看到它非常有用,但不知道如何编写代码来使用它!!

它是一个存储库接口(interface)。

签名是...

IQueryable<T> Get(Expression<Func<T, bool>> criteria);

最佳答案

听起来你正在寻找这样的东西:

List<T> myList = new List<T>();
...
public IQueryable<int> Get(Expression<Func<int, bool>> criteria)
{
return myList.Where(criteria.Compile()).AsQueryable();
}

这传递了你的表达 criteria到 linq 方法 Where .然后你可以这样调用它:

foreach(var something in myClass.Get(o => o.someProperty == 10))
{
...
}

当然,这很愚蠢;最好只实现 IEnumerable<T> ...

关于c# - 实现 LINQ 表达式参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3211960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com