我有一个声明的方法,如下所示:
public void OriginalMethod(Func<object,bool> selector)
Run Code Online (Sandbox Code Playgroud)
我想从泛型方法中调用它,它具有如下声明:
public void GenericMethod<T>(Func<T, bool> selector)
Run Code Online (Sandbox Code Playgroud)
我怎么做?
你不能selector直接传递给OriginalMethod:它期望一个接受any的方法object,但Func<T, bool>只接受一个类型的对象T.
当然,你可以作弊:
OriginalMethod(o => selector((T)o));
Run Code Online (Sandbox Code Playgroud)
但是如果OriginalMethod使用不可转换为T的对象调用该方法,它将失败...
| 归档时间: |
|
| 查看次数: |
1923 次 |
| 最近记录: |