Procedure: Bepalen naar welk type een objectvariabele verwijst (Visual Basic)
Een objectvariabele bevat een aanwijzer naar gegevens die elders zijn opgeslagen. Het type gegevens kan tijdens de runtime worden gewijzigd. Op elk moment kunt u de GetTypeCode methode gebruiken om het huidige runtimetype te bepalen, of de TypeOf-operator om erachter te komen of het huidige runtimetype compatibel is met een opgegeven type.
Het exacte type van een objectvariabele bepalen waarnaar momenteel wordt verwezen
Roep in de objectvariabele de GetType methode aan om een System.Type object op te halen.
Dim myObject As Object myObject.GetType()
Roep in de System.Type klasse de gedeelde methode GetTypeCode aan om de TypeCode opsommingswaarde voor het objecttype op te halen.
Dim myObject As Object Dim datTyp As Integer = Type.GetTypeCode(myObject.GetType()) MsgBox("myObject currently has type code " & CStr(datTyp))
U kunt de TypeCode opsommingswaarde testen op basis van de gewenste opsommingsleden, zoals
Double
.
Bepalen of het type van een objectvariabele compatibel is met een opgegeven type
Gebruik de
TypeOf
operator in combinatie met de is-operator om het object te testen met eenTypeOf
...Is
-expressie.If TypeOf objA Is System.Windows.Forms.Control Then MsgBox("objA is compatible with the Control class") End If
De
TypeOf
expressie ...Is
retourneertTrue
als het runtimetype van het object compatibel is met het opgegeven type.Het criterium voor compatibiliteit is afhankelijk van of het opgegeven type een klasse, structuur of interface is. Over het algemeen zijn de typen compatibel als het object van hetzelfde type is als, wordt overgenomen van of het opgegeven type wordt geïmplementeerd. Zie TypeOf Operator voor meer informatie.
De code compileren
Houd er rekening mee dat het opgegeven type geen variabele of expressie kan zijn. Dit moet de naam zijn van een gedefinieerd type, zoals een klasse, structuur of interface. Dit omvat intrinsieke typen zoals Integer
en String
.