Sdílet prostřednictvím


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

  1. Na objektu, který si myslíte, že by mohl být základní typ, vyvoláte metodu GetType .

  2. U objektu vráceného System.TypeGetTypevoláním IsInstanceOfType metody.

  3. 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 .

Viz také