Partilhar via


Valores de variáveis de objeto (Visual Basic)

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

Funções do classificador de objetos

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

Function 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 de 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 é 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.

Tipo de Operador

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 TypeOfexpressão ...Is avalia se True o tipo de tempo de execução do operando é derivado ou implementa o tipo especificado.

O exemplo a seguir usa TypeOf em 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 Debug :

num is Integer

num is Object

frm is Form

frm is Object

A variável num object refere-se a dados do tipo Integer, e 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 ao lado de outros tipos de dados na matriz.

Consulte também