Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Bevat adressen die verwijzen naar objecten. U kunt elk verwijzingstype (tekenreeks, matrix, klasse of interface) toewijzen aan een Object variabele. Een Object variabele kan ook verwijzen naar gegevens van elk waardetype (numeriek, Boolean, Char, , Datestructuur of opsomming).
Opmerkingen
Het Object gegevenstype kan verwijzen naar gegevens van elk gegevenstype, inclusief een objectexemplaren die door uw toepassing worden herkend. Gebruik Object deze functie wanneer u tijdens het compileren niet weet naar welk gegevenstype de variabele kan verwijzen.
De standaardwaarde Object is Nothing (een null-verwijzing).
Gegevenstypen
U kunt een variabele, constante of expressie van elk gegevenstype toewijzen aan een Object variabele. Als u wilt bepalen welk gegevenstype een Object variabele momenteel verwijst, kunt u de GetTypeCode methode van de System.Type klasse gebruiken. In het volgende voorbeeld ziet u dit.
Dim myObject As Object
' Suppose myObject has now had something assigned to it.
Dim datTyp As Integer
datTyp = Type.GetTypeCode(myObject.GetType())
Het Object gegevenstype is een verwijzingstype. Visual Basic behandelt een Object variabele echter als een waardetype wanneer deze verwijst naar gegevens van een waardetype.
Storage
Welk gegevenstype het ook verwijst, een Object variabele bevat niet de gegevenswaarde zelf, maar een aanwijzer naar de waarde. Er worden altijd vier bytes in het computergeheugen gebruikt, maar dit omvat niet de opslag voor de gegevens die de waarde van de variabele vertegenwoordigen. Vanwege de code die de aanwijzer gebruikt om de gegevens te vinden, Object zijn variabelen met waardetypen iets trager dan expliciet getypte variabelen.
Programmeertips
Overwegingen voor interoperabiliteit. Als u met onderdelen werkt die niet zijn geschreven voor .NET Framework, bijvoorbeeld Automation- of COM-objecten, moet u er rekening mee houden dat aanwijzertypen in andere omgevingen niet compatibel zijn met het Visual Basic-type
Object.Prestaties. Een variabele die u met het
Objecttype declareert, is flexibel genoeg om een verwijzing naar een willekeurig object te bevatten. Wanneer u echter een methode of eigenschap voor een dergelijke variabele aanroept, worden er altijd late bindingen (tijdens runtime) aangeroepen. Als u vroege binding (tijdens het compileren) en betere prestaties wilt afdwingen, declareert u de variabele met een specifieke klassenaam of castt u deze naar het specifieke gegevenstype.Wanneer u een objectvariabele declareert, probeert u bijvoorbeeld een specifiek klassetype OperatingSystemte gebruiken in plaats van het gegeneraliseerde
Objecttype. U moet ook de meest specifieke klasse gebruiken die beschikbaar is, zoals TextBox in plaats van Control, zodat u toegang hebt tot de eigenschappen en methoden. U kunt meestal de lijst Klassen in de objectbrowser gebruiken om beschikbare klassenamen te vinden.Verbreding. Alle gegevenstypen en alle verwijzingstypen worden breder naar het
Objectgegevenstype. Dit betekent dat u elk type kunt converteren naarObjectzonder dat er een System.OverflowException fout optreedt.Als u echter converteert tussen waardetypen en
Object, voert Visual Basic bewerkingen uit die boksen en uitpakken worden genoemd, waardoor de uitvoering langzamer wordt.Typ tekens.
Objectheeft geen letterlijk type teken of id-type teken.Type framework. Het bijbehorende type in .NET Framework is de System.Object klasse.
Opmerking
In het volgende voorbeeld ziet u een Object variabele die verwijst naar een objectexemplaren.
Dim objDb As Object
Dim myCollection As New Collection()
' Suppose myCollection has now been populated.
objDb = myCollection.Item(1)