假设我有一些基本接口是泛型驱动的:
public interface Inteface<T> {
void Foo(T t);
}
Run Code Online (Sandbox Code Playgroud)
现在我有一个这个接口的具体实现,它也是通用的:
public class InterfaceImpl<T> {
public void Foo(T t) {
// Whatever
}
}
Run Code Online (Sandbox Code Playgroud)
这看起来不错,但现在让我说我有其他课程:
public class Ololo {
public void BadFunction<TShouldModelInterface>(TShouldModelInterface shouldModelInterface) {
// Whatever
}
}
Run Code Online (Sandbox Code Playgroud)
并且假设我想执行检查是否TShouldModelInterface实际实现了任何可能的Interface<T>.
如果界面不是通用的,我会写一些类似的东西where TShouldModelInterface : Interface.
但如果接口是一个declared as Interface<T>?有什么方法可以解决这个问题吗?
public class Ololo {
public void BadFunction<TShouldModelInterface, T>(TShouldModelInterface shouldModelInterface)
where TShouldModelInterface : Interface<T>
{
// Whatever
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
433 次 |
| 最近记录: |