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
Anropa metoden för att hämta ett System.Type objekt i GetType objektvariabeln.
Dim myObject As Object myObject.GetType()
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 ettTypeOf
...Is
uttryck.If TypeOf objA Is System.Windows.Forms.Control Then MsgBox("objA is compatible with the Control class") End If
Uttrycket
TypeOf
...Is
returnerarTrue
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
.