我需要帮助将通用参数转换为接口。
我有这样的预烘焙代码:
public interface InterFoo<T> {...}
public InterFoo<T> specialFoo<T>() where T : InterFoo<T> {...}
public InterFoo<T> regularFoo<T>() {...}
我想实现这样的东西
public InterFoo<T> adaptiveFoo<T>()
{
if (T is InterFoo<T>)
return specialFoo<T as InterFoo>();
return regularFoo<T>();
}
在这一点上,我找不到任何解决方案,所以任何东西都会有帮助,谢谢。
编辑:最初函数返回了一个 int ,但它有一个更简单的解决方案,与代码的预期目的不兼容,函数已更改为请求泛型类型。