Gewusst wie: Bestimmen des Bezugs zwischen zwei Objekten
Aktualisiert: November 2007
Sie können zwei Objekte miteinander vergleichen, um ggf. die Beziehung zwischen den Klassen zu ermitteln, aus denen sie erstellt wurden. Die IsInstanceOfType-Methode der System.Type-Klasse gibt True zurück, wenn die angegebene Klasse von der aktuellen Klasse erbt oder wenn der aktuelle Typ eine Schnittstelle ist, die von der angegebenen Klasse unterstützt wird.
So stellen Sie fest, ob ein Objekt von der Klasse oder Schnittstelle eines anderen Objekts erbt
Rufen Sie für das Objekt, das Sie für eine Instanz des Basistyps halten, die GetType-Methode auf.
Rufen Sie für das von GetType zurückgegebene System.Type-Objekt die IsInstanceOfType-Methode auf.
Geben Sie in der Argumentliste für IsInstanceOfType das Objekt an, das Sie für eine Instanz des abgeleiteten Typs halten.
IsInstanceOfType gibt True zurück, wenn dessen Argumenttyp vom System.Type-Objekttyp erbt.
Beispiel
Im folgenden Beispiel wird festgestellt, ob ein Objekt eine Klasse repräsentiert, die aus der Klasse eines anderen Objekts abgeleitet wurde:
Public Class baseClass
End Class
Public Class derivedClass : Inherits baseClass
End Class
Public Class testTheseClasses
Public Sub seeIfRelated()
Dim baseObj As Object = New baseClass()
Dim derivedObj As Object = New derivedClass()
Dim related As Boolean
related = baseObj.GetType().IsInstanceOfType(derivedObj)
MsgBox(CStr(related))
End Sub
End Class
Beachten Sie die unerwartete Platzierung der beiden Objektvariablen im Aufruf von IsInstanceOfType. Der angenommene Basistyp wird zum Generieren der System.Type-Klasse verwendet, und der angenommene abgeleitete Typ wird als Argument der IsInstanceOfType-Methode übergeben.
Siehe auch
Aufgaben
Gewusst wie: Bestimmen der Gleichheit zweier Objekte
Konzepte
Objektvariablen in Visual Basic