Partilhar via


Atribuição de variável de objeto (Visual Basic)

Você usa uma instrução de atribuição normal para atribuir um objeto a uma variável de objeto. Você pode atribuir uma expressão de objeto ou a palavra-chave Nothing , como ilustra o exemplo a seguir.

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 não há nenhum objeto atualmente atribuído à variável.

Inicialização

Quando o código começa a ser executado, as variáveis de objeto são inicializadas em Nothing. Aqueles cujas declarações incluem inicialização são reinicializados para os valores especificados quando as instruções de declaração são executadas.

Você pode incluir a inicialização em sua declaração usando a palavra-chave Novo . As instruções de declaração a seguir declaram variáveis testUri de objeto e ver atribuem objetos específicos a elas. Cada um usa um dos construtores sobrecarregados da classe apropriada para inicializar o objeto.

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

Desassociação

Definir uma variável de objeto para Nothing descontinuar a associação da variável com qualquer objeto específico. Isso evita que você altere acidentalmente o objeto alterando a variável. Ele também permite que você teste se a variável de objeto aponta para um objeto válido, como mostra o exemplo a seguir.

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

Se o objeto ao qual sua variável se refere estiver em outro aplicativo, esse teste não poderá determinar se esse aplicativo foi encerrado ou apenas invalidou o objeto.

Uma variável de objeto com um valor de também é chamada de Nothingreferência nula.

Instância atual

A instância atual de um objeto é aquela na qual o código está sendo executado no momento. Como todo o código é executado dentro de um procedimento, a instância atual é aquela na qual o procedimento foi invocado.

A Me palavra-chave atua como uma variável de objeto que se refere à instância atual. Se um procedimento não for compartilhado, ele poderá usar a Me palavra-chave para obter um ponteiro para a instância atual. Os procedimentos compartilhados não podem ser associados a uma instância específica de uma classe.

O uso Me é particularmente útil para passar a instância atual para um procedimento em outro módulo. Por exemplo, suponha que você tenha vários documentos XML e deseje adicionar algum texto padrão a todos eles. O exemplo a seguir define um procedimento para fazer isso.

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

Cada objeto de documento XML poderia então chamar o procedimento e passar sua instância atual como um argumento. O exemplo a seguir demonstra isso.

addStandardText(Me)

Consulte também