假设我有一个基本接口,使用泛型进行驱动:
假设我想执行一个检查,看看
如果接口不是泛型的,我可以简单地编写类似于
但是,如果接口被声明为
public interface Inteface<T> {
void Foo(T t);
}
现在我有了一些具体的实现,这些实现也是泛型的:
public class InterfaceImpl<T> {
public void Foo(T t) {
// Whatever
}
}
这个看起来还可以,但现在假设我有另一个类:
public class Ololo {
public void BadFunction<TShouldModelInterface>(TShouldModelInterface shouldModelInterface) {
// Whatever
}
}
假设我想执行一个检查,看看
TShouldModelInterface
是否实际实现了任何可能的 Interface<T>
。如果接口不是泛型的,我可以简单地编写类似于
where TShouldModelInterface : Interface
的内容。但是,如果接口被声明为
Interface<T>
,有没有解决这个问题的方法呢?