如何构造委托并将其作为要在lambda表达式中使用的参数传递

时间:2013-05-19 07:24:03

标签: delegates entity-framework-5 lambda

我正在重构一些代码 最初的陈述是

var deleteList = new List<FilterParameter>();
foreach (FilterParameter param in FilterParameters)
{
    if (memlist.All(x => x.ParameterName != param.ParameterName))
    {
        deleteList.Add(param);
    }
}

现在我想做一些像

这样的事情
 var deleteList = ufs.FilterParameters.Where(param => memlist.All(rule2)).ToList();

我不确定如何构建和传递委托

1 个答案:

答案 0 :(得分:1)

我不完全确定我理解你,你是否在.Where()询问如何传递谓词,因为这样会起作用:

Func<FilterParameter, bool> predicate = param => memlist.All(x => x.ParameterName != param.ParameterName);

List<FilterParameter> deleteList = FilterParameters.Where(predicate).ToList();

这就是你问的问题吗?