Hallo!
Folgendes Beispiel:
Nun möchte ich wissen, ob das Objekt c2 vom Typ BaseClass ist, was natürlich der Fall ist, das BaseClass die Basisklasse von
ChildClass ist. Dies erreicht man recht einfach über: TypeOf c2 is BaseClass - was ein True liefert.
Auch ein TypeOf c3 Is BaseClass ergibt logischerweise True.
Jetzt möchte ich das Ganze aber dynamisch halten und per t = GetType(BaseClass) ein TypeObjekt erzeugen.
Wie kann ich nun prüfen, ob c2 und c3 dem referenzierten Type entspricht.
Die einzige Möglichkeit die ich gefunden habe ist: t.Equals(c2.GetType.BaseType).
Bei c3 wäre es aber t.Equals(c2.GetType.BaseType.BaseType).
Gibt es nicht eine einfache - allgemeine Lösung?
Folgendes Beispiel:
VB.NET-Quellcode
- Public Class BaseClass
- End Class
- Public Class ChildClass
- Inherits BaseClass
- End Class
- Public Class ChildClass2
- Inherits ChildClass
- End Class
- Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
- Dim t = GetType(BaseClass)
- Dim c = New BaseClass
- Dim c2 = New ChildClass
- Dim c3 = New ChildClass2
- End Sub
Nun möchte ich wissen, ob das Objekt c2 vom Typ BaseClass ist, was natürlich der Fall ist, das BaseClass die Basisklasse von
ChildClass ist. Dies erreicht man recht einfach über: TypeOf c2 is BaseClass - was ein True liefert.
Auch ein TypeOf c3 Is BaseClass ergibt logischerweise True.
Jetzt möchte ich das Ganze aber dynamisch halten und per t = GetType(BaseClass) ein TypeObjekt erzeugen.
Wie kann ich nun prüfen, ob c2 und c3 dem referenzierten Type entspricht.
Die einzige Möglichkeit die ich gefunden habe ist: t.Equals(c2.GetType.BaseType).
Bei c3 wäre es aber t.Equals(c2.GetType.BaseType.BaseType).
Gibt es nicht eine einfache - allgemeine Lösung?