我有一个声明如下的方法:
public void OriginalMethod(Func<object,bool> selector)
我想从具有如下声明的通用方法调用它:
public void GenericMethod<T>(Func<T, bool> selector)
我该怎么做?
最佳答案
你不能通过 selector
直接到OriginalMethod
: 它需要一个接受任何 object
的方法,而是一个 Func<T, bool>
只接受 T
类型的对象.
当然,你可以作弊:
OriginalMethod(o => selector((T)o));
但是如果OriginalMethod
使用不可转换为 T 的对象调用方法,它将失败...
关于c# - 如何使用 Func<T, bool> 作为 Func<object, bool> 的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8560054/