Supongamos que tengo una clase que tiene este aspecto:¿Cómo comprobar si una clase hereda otra clase sin instanciarla?
class Derived : // some inheritance stuff here
{
}
Quiero ver algo como esto en mi código:
Derived is SomeType;
Pero parece que la necesidad is
operador Derivado ser variable de tipo Dervied , no derivado en sí mismo. No quiero crear un objeto de tipo Derivado.
¿Cómo puedo asegurarme de que Derived hereda SomeType
sin instanciarlo?
P.S. Si ayuda, quiero algo como lo que hace la palabra clave where
con genéricos.
EDIT:
similares a this respuesta, pero está comprobando un objeto. Quiero verificar la clase en sí.
Así como una nota a otra persona preguntando, esto no volverá cierto cuando la comprobación frente a las definiciones de tipo/interfaz genérica, en la medida de lo que pueda Dígale que necesita buscar en la cadena de herencia y verificar las definiciones de tipo genérico usted mismo. –
Alex, ¿cómo harías para buscar la cadena de herencia de un tipo genérico para lograr esto? –
@ La nota de AlexHopeO'Connor es importante y creo que la solución está ahí http://stackoverflow.com/questions/457676/check-if-a-class-is-derived-from-a-generic-class –