我有一个func列表
class SomeClass
{
List<Func<int, bool>> _funcList;
}
我想在该类中编写一个函数,以将单个列表中的所有项作为单个函数返回
Func<int, bool> GetAllTrueConditions()
{
//for each item in _funcList do AND and return
}
这样我可以在下面做
Collection.Filter = obj.GetAllTrueConditions();
答案 0 :(得分:2)
最简单的方法是返回一个lambda函数。要从列表中调用所有功能,请使用
_funcList.All(func => func(5));
我们不能构造一个lambda来执行上面的语句:
var callAll = integerVal => _funcList.All(func => func(integerVal));
完整示例
class SomeClass
{
List<Func<int, bool>> _funcList;
Func<int, bool> GetAllTrueConditions()
{
//for each item in _funcList do AND and return
return integerVal => _funcList.All(func => func(integerVal));
}
}