Compartir a través de


Asignación de variables de objeto (Visual Basic)

Se usa una instrucción de asignación normal para asignar un objeto a una variable de objeto. Puede asignar una expresión de objeto o la palabra clave Nothing , como se muestra en el ejemplo siguiente.

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

Nothing significa que no hay ningún objeto asignado actualmente a la variable.

Inicialización

Cuando el código comienza a ejecutarse, las variables de objeto se inicializan en Nothing. Aquellos cuyas declaraciones incluyen la inicialización se reinicializan a los valores especificados cuando se ejecutan las instrucciones de declaración.

Puede incluir la inicialización en la declaración mediante la palabra clave New . Las siguientes instrucciones de declaración declaran variables testUri de objeto y ver asignan objetos específicos a ellas. Cada usa uno de los constructores sobrecargados de la clase adecuada para inicializar el objeto.

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

Desasociación

Establecer una variable de objeto para Nothing interrumpir la asociación de la variable con cualquier objeto específico. Esto evita que cambie accidentalmente el objeto cambiando la variable. También permite probar si la variable de objeto apunta a un objeto válido, como se muestra en el ejemplo siguiente.

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

Si el objeto al que hace referencia la variable está en otra aplicación, esta prueba no puede determinar si esa aplicación ha finalizado o simplemente invalidado el objeto.

Una variable de objeto con un valor de Nothing también se denomina referencia nula.

Instancia actual

La instancia actual de un objeto es la en la que el código se está ejecutando actualmente. Puesto que todo el código se ejecuta dentro de un procedimiento, la instancia actual es la en la que se invocó el procedimiento.

La Me palabra clave actúa como una variable de objeto que hace referencia a la instancia actual. Si un procedimiento no es Shared, puede usar la Me palabra clave para obtener un puntero a la instancia actual. Los procedimientos compartidos no se pueden asociar a una instancia específica de una clase.

El uso Me es especialmente útil para pasar la instancia actual a un procedimiento de otro módulo. Por ejemplo, supongamos que tiene una serie de documentos XML y desea agregar texto estándar a todos ellos. En el ejemplo siguiente se define un procedimiento para hacerlo.

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

Cada objeto de documento XML podría llamar al procedimiento y pasar su instancia actual como argumento. En el siguiente ejemplo se muestra cómo hacerlo.

addStandardText(Me)

Consulte también