Valores de variável 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 variável Object
é mantido em outro lugar na memória, enquanto a própria variável contém um ponteiro para os dados.
Funções de classificação de objeto
O Visual Basic fornece funções que retornam informações sobre o que uma variável Object
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 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 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 enviar 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
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 de Depuração:
num is Integer
num is Object
frm is Form
frm is Object
A variável de objeto num
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 variáveis Object
. 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.
Confira também
- Variáveis de Objeto
- Declaração de Variável do Objeto
- Atribuição de variável do objeto
- Como fazer referência à instância atual de um objeto
- Como determinar a que tipo uma variável de objeto se refere
- Como determinar se dois objetos estão relacionados
- Como determinar se dois objetos são idênticos
- Data Types