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 TypeOf
expressie ...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 Integer
en 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
- Objectvariabelen
- Declaratie van objectvariabele
- Toewijzing van objectvariabele
- Procedure: Verwijzen naar het huidige exemplaar van een object
- Procedure: Bepalen naar welk type een objectvariabele verwijst
- Procedure: bepalen of twee objecten zijn gerelateerd
- Procedure: bepalen of twee objecten identiek zijn
- Gegevenstypen