Вы не можете передать selector
напрямую OriginalMethod
: он ожидает метод, который принимает любой object
, но Func<T, bool>
принимает только объект типа T
.
Конечно, вы можете обмануть:
OriginalMethod(o => selector((T)o));
Но если OriginalMethod
вызовет метод с объектом, который не может быть преобразован в T, произойдет сбой ...