Допустим, у меня есть некий базовый интерфейс, управляемый дженериками:
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
].
Если бы интерфейс не был универсальным, я бы просто написал что-то вроде , где TShouldModelInterface: Interface
.
Но есть ли способ решить эту проблему, если интерфейс является объявлен как Interface
?