Überprüfung einer Instanz auf einen Typen
-
Hi Forum,
wollte mal wissen ob es die Möglichkeit gibt ein Object auf seinen Typen zu überprüfen ? Die Situation ist wie folgt: Ich habe eine Basisklasse die an mehrer Unterklassen vererbt wird. Jetzt würde ich gerne wissen von welchem Typ dieses Object ist.
Ich habe schon mit der Methode GetType() rumexperimentiert, aber damit kann ich ja nur zwei Objekte vergleichen. Ich hätte also gerne so was wieif(Object.GetType == Klasse)
Danke schon mal für eure Mühen Reasar
-
Reasar schrieb:
wollte mal wissen ob es die Möglichkeit gibt ein Object auf seinen Typen zu überprüfen ?
Schau Dir mal den "is" und "as" Operator an:
[MSDN + Example zu "is" und "as": C# Programmer's Reference]
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfispg.asphttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfas.asp
Grüsse - Kalle
-
Danke für die Hilfe
Das funktioniert
-
if (object.GetType().IsSubclassOf(typeof(object)) {...}
Mit GetType() bekommst du ein Objekt vom Typ "Type" zurück. Type Objekte bieten sehr viele Möglichkeiten um etwas über den Typen herauszufinden (Basisklasse, Interfaces usw.). Einfach mal in der MSDN nachschauen (oder IntelliSense benutzen
).