Supponiamo che ho una classe che assomiglia a questo:Come verificare se una classe eredita un'altra classe senza istanziarla?
class Derived : // some inheritance stuff here
{
}
voglio verificare qualcosa di simile nel mio codice:
Derived is SomeType;
ma sembra che necessità is
operatore legnosi da variabile di tipo Dervied , non derivato stesso. Non voglio creare un oggetto di tipo Derivato.
Come posso essere sicuro che Derived erediti SomeType
senza istanziarlo?
P.S. Se aiuta, voglio qualcosa di simile a ciò che la parola chiave where
fa con i generici.
MODIFICA:
simile alla risposta this, ma sta controllando un oggetto. Voglio controllare la classe stessa.
Proprio come una nota a chiunque altro chiedendo, questo non restituirà vero quando il controllo contro le definizioni generiche tipo/interfaccia, per quanto posso dire che è necessario cercare la catena di ereditarietà e controllare da soli le definizioni di tipo generico. –
Alex, come andresti a cercare la catena ereditaria di un tipo generico per realizzare questo? –
@ AlexHopeO'Connor's note è importante e penso che la soluzione sia lì http://stackoverflow.com/questions/457676/check-if-a-class-is-derived-from-a-generic-class –