Digamos que tengo un poco de interfaz básica que es genéricos impulsada por:C# genéricos pregunta - limitación interfaz genérica
public interface Inteface<T> {
void Foo(T t);
}
Ahora tengo algo de aplicación concreta de esta interfaz, que también es genérico:
public class InterfaceImpl<T> {
public void Foo(T t) {
// Whatever
}
}
Esto se ve bien, pero ahora vamos a decir que tengo otra clase:
public class Ololo {
public void BadFunction<TShouldModelInterface>(TShouldModelInterface shouldModelInterface) {
// Whatever
}
}
Y digamos Quiero realizar una comprobación si TShouldModelInterface
realmente implementa alguno de los posibles Interface<T>
.
Si la interfaz no era genérica, simplemente escribiría algo como where TShouldModelInterface : Interface
.
Pero ¿hay alguna manera de resolver este problema si la interfaz es un ?
he modificado el título un poco por lo que es menos genérico –
@ Daniel Ahahah .. de hecho menos "genérico" –
En su ejemplo, '' InterfaceImpl '' no implementa '' Inteface '' (falta "r", por cierto). Debería declararlo como '' clase pública InterfaceImpl : Inteface '' –