Преобразование предиката <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'

Есть ли способ преобразовать предикат в аргумент, который эта функция проглотит?

Ответы на вопрос(5)

Ваш ответ на вопрос