Dela via


Anvisningar: Fastställa vilken typ av objektvariabel som refererar till (Visual Basic)

En objektvariabel innehåller en pekare till data som lagras någon annanstans. Typen av dessa data kan ändras under körningen. När som helst kan du använda GetTypeCode metoden för att fastställa den aktuella körningstypen eller TypeOf-operatorn för att ta reda på om den aktuella körningstypen är kompatibel med en angiven typ.

För att fastställa den exakta typ som en objektvariabel för närvarande refererar till

  1. Anropa metoden för att hämta ett System.Type objekt i GetType objektvariabeln.

    Dim myObject As Object
    myObject.GetType()
    
  2. Anropa den delade metoden GetTypeCode i System.Type klassen för att hämta TypeCode uppräkningsvärdet för objektets typ.

    Dim myObject As Object
    Dim datTyp As Integer = Type.GetTypeCode(myObject.GetType())
    MsgBox("myObject currently has type code " & CStr(datTyp))
    

    Du kan testa TypeCode uppräkningsvärdet mot de uppräkningsmedlemmar som är av intresse, till exempel Double.

Så här avgör du om en objektvariabels typ är kompatibel med en angiven typ

  • Använd operatorn TypeOf i kombination med Is Operator för att testa objektet med ett TypeOf...Is uttryck.

    If TypeOf objA Is System.Windows.Forms.Control Then
        MsgBox("objA is compatible with the Control class")
    End If
    

    Uttrycket TypeOf...Is returnerar True om objektets körningstyp är kompatibel med den angivna typen.

    Kriteriet för kompatibilitet beror på om den angivna typen är en klass, struktur eller ett gränssnitt. I allmänhet är typerna kompatibla om objektet är av samma typ som, ärver från eller implementerar den angivna typen. Mer information finns i TypeOf Operator.

Kompilera koden

Observera att den angivna typen inte kan vara en variabel eller ett uttryck. Det måste vara namnet på en definierad typ, till exempel en klass, struktur eller ett gränssnitt. Detta omfattar inbyggda typer som Integer och String.

Se även