Dela via


Anvisningar: Avgöra om två objekt är relaterade (Visual Basic)

Du kan jämföra två objekt för att fastställa relationen, om någon, mellan de klasser som de skapas från. Metoden IsInstanceOfType för System.Type klassen returnerar True om den angivna klassen ärver från den aktuella klassen, eller om den aktuella typen är ett gränssnitt som stöds av den angivna klassen.

Ta reda på om ett objekt ärver från ett annat objekts klass eller gränssnitt

  1. Anropa metoden på det objekt som du tror kan vara av bastyp GetType .

  2. Anropa metoden på objektet System.Type som returneras av GetTypeIsInstanceOfType .

  3. I argumentlistan för IsInstanceOfTypeanger du det objekt som du tror kan vara av den härledda typen.

    IsInstanceOfType returnerar True om dess argumenttyp ärver från System.Type objekttypen.

Exempel

I följande exempel avgörs om ett objekt representerar en klass som härletts från ett annat objekts klass.

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

Observera den oväntade placeringen av de två objektvariablerna i anropet till IsInstanceOfType. Den förmodade bastypen används för att generera System.Type klassen och den förmodade härledda typen skickas som ett argument till IsInstanceOfType metoden.

Se även