Преобразование предиката <T> в Func <T, bool>
У меня есть класс с членомPredicate
который я хотел бы использовать в выражении Linq:
using System.Linq;
class MyClass
{
public bool DoAllHaveSomeProperty()
{
return m_instrumentList.All(m_filterExpression);
}
private IEnumerable<Instrument> m_instrumentList;
private Predicate<Instrument> m_filterExpression;
}
Пока я это читаюPredicate<T>
[...] полностью эквивалентноFunc<T, bool>
"(посмотреть здесь), Я ожидаю, что это сработает, так какAll
принимает в качестве аргумента:Func<Instrument, bool> predicate
.
Однако я получаю ошибку:
Argument 2: cannot convert from 'System.Predicate<MyNamespace.Instrument>' to 'System.Type'
Есть ли способ преобразовать предикат в аргумент, который эта функция проглотит?