Delen via


Waarden van objectvariabelen (Visual Basic)

Een variabele van het objectgegevenstype kan verwijzen naar gegevens van elk type. De waarde die u in een Object variabele opslaat, wordt ergens anders in het geheugen bewaard, terwijl de variabele zelf een aanwijzer naar de gegevens bevat.

Objectclassificatiefuncties

Visual Basic biedt functies die informatie retourneren over wat een Object variabele verwijst, zoals wordt weergegeven in de volgende tabel.

Functie Retourneert Waar als de objectvariabele verwijst naar
IsArray Een matrix met waarden, in plaats van één waarde
IsDate Een datumgegevenstypewaarde of een tekenreeks die kan worden geïnterpreteerd als een datum- en tijdwaarde
IsDBNull Een object van het type DBNull, dat ontbrekende of niet-bestaande gegevens vertegenwoordigt
IsError Een uitzonderingsobject dat is afgeleid van Exception
IsNothing Niets, dat wil gezegd, er is momenteel geen object toegewezen aan de variabele
IsNumeric Een getal of een tekenreeks die kan worden geïnterpreteerd als een getal
IsReference Een verwijzingstype (zoals een tekenreeks, matrix, gemachtigde of klassetype)

U kunt deze functies gebruiken om te voorkomen dat een ongeldige waarde wordt ingediend bij een bewerking of procedure.

TypeOf-operator

U kunt ook de TypeOf-operator gebruiken om te bepalen of een objectvariabele momenteel verwijst naar een specifiek gegevenstype. De TypeOfexpressie ...Is evalueert of True het runtimetype van de operand is afgeleid van of het opgegeven type implementeert.

In het volgende voorbeeld wordt gebruikgemaakt TypeOf van objectvariabelen die verwijzen naar waarde- en verwijzingstypen.

' The following statement puts a value type (Integer) in an Object variable.  
Dim num As Object = 10  
' The following statement puts a reference type (Form) in an Object variable.  
Dim frm As Object = New Form()  
If TypeOf num Is Long Then Debug.WriteLine("num is Long")  
If TypeOf num Is Integer Then Debug.WriteLine("num is Integer")  
If TypeOf num Is Short Then Debug.WriteLine("num is Short")  
If TypeOf num Is Object Then Debug.WriteLine("num is Object")  
If TypeOf frm Is Form Then Debug.WriteLine("frm is Form")  
If TypeOf frm Is Label Then Debug.WriteLine("frm is Label")  
If TypeOf frm Is Object Then Debug.WriteLine("frm is Object")  

In het voorgaande voorbeeld worden de volgende regels naar het venster Foutopsporing geschreven:

num is Integer

num is Object

frm is Form

frm is Object

De objectvariabele num verwijst naar gegevens van het type Integeren frm verwijst naar een object van klasse Form.

Objectmatrices

U kunt een matrix met Object variabelen declareren en gebruiken. Dit is handig wanneer u verschillende gegevenstypen en objectklassen moet verwerken. Alle elementen in een matrix moeten hetzelfde gedeclareerde gegevenstype hebben. Als u dit gegevenstype declareren, kunt Object u objecten en klasse-exemplaren opslaan naast andere gegevenstypen in de matrix.

Zie ook