我有一堆方法,我想检查一些元数据,所有这些方法都有不同的参数但参数都来自BaseClass.
public void CheckMethod(Func<BaseClass, Object> func)
{
// Check method metadata here
}
public Object MethodToCheck(DerivedClass foo)
{
// Whatever...
}
public void Test()
{
CheckMethod(MethodToCheck);
}
Run Code Online (Sandbox Code Playgroud)
代码失败CheckMetadata(MethodToCheck),因为MethodToCheck将DerivedClass作为参数而不是BaseClass.我尝试过使用泛型:
public void CheckMethod<T>(Func<T, Object> func)
...
CheckMethod<DerivedClass>(MethodToCheck);
Run Code Online (Sandbox Code Playgroud)
我希望CheckMethod的调用尽可能少,并且更愿意只调用它CheckMethod(MethodToCheck).这可能吗?
| 归档时间: |
|
| 查看次数: |
3099 次 |
| 最近记录: |