Postupy: Určení, zda dva objekty souvisejí (Visual Basic)
Můžete porovnat dva objekty k určení relace, pokud existuje, mezi třídami, ze kterých jsou vytvořeny. Metoda IsInstanceOfTypeSystem.Type třídy vrátí True
, pokud zadaná třída dědí z aktuální třídy, nebo pokud aktuální typ je rozhraní podporované zadanou třídou.
Určení, zda jeden objekt dědí z třídy nebo rozhraní jiného objektu
Na objektu, který si myslíte, že by mohl být základní typ, vyvoláte metodu GetType .
U objektu vráceného System.TypeGetTypevoláním IsInstanceOfType metody.
V seznamu argumentů zadejte IsInstanceOfTypeobjekt, který si myslíte, že je odvozený typ.
IsInstanceOfType vrátí
True
, pokud jeho typ argumentu dědí z typu objektu System.Type .
Příklad
Následující příklad určuje, zda jeden objekt představuje třídu odvozenou z jiné třídy objektu.
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
Všimněte si neočekávaného umístění dvou proměnných objektu ve volání IsInstanceOfType. Předpokládaný základní typ se používá ke generování System.Type třídy a předpokládaný odvozený typ je předán jako argument metodě IsInstanceOfType .