Delen via


Toewijzing van objectvariabele (Visual Basic)

U gebruikt een normale toewijzingsinstructie om een object toe te wijzen aan een objectvariabele. U kunt een objectexpressie of het trefwoord Niets toewijzen, zoals in het volgende voorbeeld wordt geïllustreerd.

Dim thisObject As Object
' The following statement assigns an object reference.
thisObject = Form1
' The following statement discontinues association with any object.
thisObject = Nothing

Nothing betekent dat er momenteel geen object is toegewezen aan de variabele.

Initialisatie

Wanneer de code wordt uitgevoerd, worden uw objectvariabelen geïnitialiseerd naar Nothing. De declaraties bevatten initialisatie die opnieuw worden geïnitialiseerd voor de waarden die u opgeeft wanneer de declaratie-instructies worden uitgevoerd.

U kunt initialisatie in uw declaratie opnemen met behulp van het trefwoord Nieuw . Met de volgende declaratie-instructies declareert u objectvariabelen testUri en ver wijst u er specifieke objecten aan toe. Elk gebruikt een van de overbelaste constructors van de juiste klasse om het object te initialiseren.

Dim testUri As New System.Uri("https://www.microsoft.com")
Dim ver As New System.Version(6, 1, 0)

Ontkoppeling

Als u een objectvariabele instelt om Nothing de koppeling van de variabele met een specifiek object te beëindigen. Hierdoor voorkomt u dat u het object per ongeluk kunt wijzigen door de variabele te wijzigen. U kunt ook testen of de objectvariabele naar een geldig object verwijst, zoals in het volgende voorbeeld wordt weergegeven.

If otherObject IsNot Nothing Then
    ' otherObject refers to a valid object, so your code can use it.
End If

Als het object waarnaar uw variabele verwijst zich in een andere toepassing bevindt, kan deze test niet bepalen of die toepassing het object heeft beëindigd of alleen ongeldig heeft gemaakt.

Een objectvariabele met een waarde van Nothing wordt ook wel een null-verwijzing genoemd.

Huidig exemplaar

Het huidige exemplaar van een object is het exemplaar waarin de code momenteel wordt uitgevoerd. Omdat alle code in een procedure wordt uitgevoerd, is het huidige exemplaar het exemplaar waarin de procedure is aangeroepen.

Het Me trefwoord fungeert als een objectvariabele die verwijst naar het huidige exemplaar. Als een procedure niet gedeeld is, kan het trefwoord worden Me gebruikt om een aanwijzer naar het huidige exemplaar te verkrijgen. Gedeelde procedures kunnen niet worden gekoppeld aan een specifiek exemplaar van een klasse.

Het gebruik Me is met name handig voor het doorgeven van het huidige exemplaar aan een procedure in een andere module. Stel dat u een aantal XML-documenten hebt en enkele standaardtekst wilt toevoegen aan alle documenten. In het volgende voorbeeld wordt een procedure gedefinieerd om dit te doen.

Sub addStandardText(XmlDoc As System.Xml.XmlDocument)
    XmlDoc.CreateTextNode("This text goes into every XML document.")
End Sub

Elk XML-documentobject kan vervolgens de procedure aanroepen en de huidige instantie doorgeven als argument. In het volgende voorbeeld ziet u dit.

addStandardText(Me)

Zie ook