Compartilhar via


Valores de variáveis de objeto (Visual Basic)

Uma variável do Tipo de Dados de Objeto pode se referir a dados de qualquer tipo. O valor que você armazena em uma Object variável é mantido em outro lugar na memória, enquanto a variável em si mantém um ponteiro para os dados.

Funções do Classificador de Objeto

O Visual Basic fornece funções que retornam informações sobre o que uma Object variável se refere, conforme mostrado na tabela a seguir.

Função Retorna True se a variável Object se referir a
IsArray Uma matriz de valores, em vez de um único valor
IsDate Um valor de Tipo de Dados Data ou uma cadeia de caracteres que pode ser interpretada como um valor de data e hora
IsDBNull Um objeto do tipo DBNull, que representa dados ausentes ou inexistentes
IsError Um objeto de exceção, que deriva de Exception
IsNothing Nada, ou seja, nenhum objeto está atribuído atualmente à variável
IsNumeric Um número ou uma cadeia de caracteres que pode ser interpretada como um número
IsReference Um tipo de referência (como uma cadeia de caracteres, matriz, delegado ou tipo de classe)

Você pode usar essas funções para evitar o envio de um valor inválido para uma operação ou um procedimento.

Operador TypeOf

Você também pode usar o Operador TypeOf para determinar se uma variável de objeto atualmente se refere a um tipo de dados específico. A expressão TypeOf...Is avalia como True se o tipo de tempo de execução do operando é derivado ou implementa o tipo especificado.

O exemplo a seguir usa TypeOf variáveis de objeto que se referem a tipos de valor e referência.

' The following statement puts a value type (Integer) in an Object variable.  
Dim num As Object = 10  
' The following statement puts a reference type (Form) in an Object variable.  
Dim frm As Object = New Form()  
If TypeOf num Is Long Then Debug.WriteLine("num is Long")  
If TypeOf num Is Integer Then Debug.WriteLine("num is Integer")  
If TypeOf num Is Short Then Debug.WriteLine("num is Short")  
If TypeOf num Is Object Then Debug.WriteLine("num is Object")  
If TypeOf frm Is Form Then Debug.WriteLine("frm is Form")  
If TypeOf frm Is Label Then Debug.WriteLine("frm is Label")  
If TypeOf frm Is Object Then Debug.WriteLine("frm is Object")  

O exemplo anterior grava as seguintes linhas na janela Depurar :

num is Integer

num is Object

frm is Form

frm is Object

A variável num de objeto refere-se a dados do tipo Integere frm refere-se a um objeto de classe Form.

Matrizes de Objetos

Você pode declarar e usar uma matriz de Object variáveis. Isso é útil quando você precisa lidar com uma variedade de tipos de dados e classes de objeto. Todos os elementos em uma matriz devem ter o mesmo tipo de dados declarado. Declarar esse tipo de dados como Object permite armazenar objetos e instâncias de classe junto com outros tipos de dados na matriz.

Consulte também