Załóżmy, że mam klasy, która wygląda tak:Jak sprawdzić, czy klasa dziedziczy inną klasę bez tworzenia instancji?
class Derived : // some inheritance stuff here
{
}
Chcę sprawdzić, czy coś takiego w moim kodu:
Derived is SomeType;
Ale wygląda potrzebie is
operatora Wyprowadzony być zmienna typu Dervied , nie jest sam pochodną. Nie chcę tworzyć obiektu typu pochodnego.
Jak mogę się upewnić, że Derived dziedziczy SomeType
bez tworzenia instancji?
P.S. Jeśli to pomaga, chcę coś, co robi słowo kluczowe where
z rodzajami.
EDYCJA:
Podobna do this odpowiedź, ale sprawdza obiekt. Chcę sprawdzić samą klasę.
Podobnie jak notatki nikomu zastanawiać, to nie zwróci true podczas sprawdzania przed definicjami typ/interfejsów generycznych, o ile mogę powiedz, że musisz przeszukać łańcuch dziedziczenia i samemu sprawdzić ogólne definicje typów. –
Alex, jak byś poszła na wyszukiwanie łańcucha dziedziczenia typu ogólnego, aby to osiągnąć? –
@ Uwaga AlexHopeO'Connor jest ważne i myślę, że istnieje rozwiązanie http://stackoverflow.com/questions/457676/check-if-a-class-is-derived-f--eneric-class –