Type.IsSubclassOf zu ungenau
-
Hallo,
ich hab mal wieder eine Frage:
Die Funktion IsSubclassOf gibt mir zurück, ob die Klasse ein "Kind" der übergebenen Klasse ist. An sich ist das ja schon toll, aber ich würde gerne wissen, in welcher Tiefe die Übergebene Klasse eine Parentklasse ist.Ich weiß nicht, ob das verständlich ist, deswegen hier ein Beispiel:
//Basisklasse class A {[...]} //Erste Vererbung class B : A {[...]} //Zweite Vererbung class C : B {[...]}
Wenn ich die gesuchte Funktion aufrufe sollen sich folgende Werte ergeben:
- Vererbungstiefe von B(child) zu A(parent) = 1
- Vererbungstiefe von C(child) zu A(parent) = 2
- Vererbungstiefe von C(child) zu B(parent) = 1
-
Benutze BaseType. Nimm solange BaseType von BaseType bis das nächste BaseType die gewünschte Basisklasse ist.
-
Ok, dann würde ich sagen, ich schreibe einfache eine Rekursion, oder?
-
Rekursion ist eine Möglichkeit, ist aber nicht unbedingt notwendig.
Rekursion bedeutet für den Computer einen höheren Verwaltungsaufwand, da Zwischenergebnisse gespeichert werden müssen, die hier nicht benötigt werden.