将lambda查询分成新方法

时间:2015-06-06 07:10:35

标签: c# lambda

以下是我写的两个课程:

LambdaExpression expression

但系统告诉我void *memset(void *s, int c, size_t n); 无效。 现在我该如何定义select方法? 感谢

1 个答案:

答案 0 :(得分:1)

您必须将Func类型的委托作为参数传递。

在你的情况Func<entity, bool>中,第一个是参数类型,第二个是返回类型((c) => c.id==5)。 Where期望返回bool

class a {
    public void getEntities(){
         b b = new b();
         List<entity> entities = b.Select(c=>c.id==5);
         // more detail
    }
}

class b {
    public List<entity> Select(Func<entity, bool> expression){
        return _dbSet.Where(expression).ToList();
    }
}

注意:正如@Amit所提到的,您必须将Linq扩展名更正为camel case