Delen via


Procedure: bepalen of twee objecten zijn gerelateerd (Visual Basic)

U kunt twee objecten vergelijken om de relatie te bepalen, indien van toepassing, tussen de klassen waaruit ze worden gemaakt. De IsInstanceOfType methode van de System.Type klasse retourneert True als de opgegeven klasse wordt overgenomen van de huidige klasse of als het huidige type een interface is die wordt ondersteund door de opgegeven klasse.

Bepalen of het ene object wordt overgenomen van de klasse of interface van een ander object

  1. Roep de methode aan op het object waarvan u denkt dat dit van het basistype GetType is.

  2. Roep de IsInstanceOfType methode aan op het System.Type object dat wordt geretourneerd doorGetType.

  3. Geef in de lijst met argumenten voor IsInstanceOfTypehet object op waarvan u denkt dat het van het afgeleide type is.

    IsInstanceOfType retourneert True als het argumenttype wordt overgenomen van het System.Type objecttype.

Opmerking

In het volgende voorbeeld wordt bepaald of één object een klasse vertegenwoordigt die is afgeleid van de klasse van een ander object.

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

Let op de onverwachte plaatsing van de twee objectvariabelen in de aanroep naar IsInstanceOfType. Het veronderstelde basistype wordt gebruikt om de System.Type klasse te genereren en het veronderstelde afgeleide type wordt doorgegeven als argument voor de IsInstanceOfType methode.

Zie ook