Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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)