Compartilhar via


Tipo de dados Object

Mantém endereços de 32 bits (4 bytes) que se referem a objetos.Você pode atribuir qualquer tipo de referência (string, array, classe ou Interface) para uma variável Object.Uma variável Object também pode se referir aos dados de qualquer tipo de valor (numérico, Boolean, Char,Date,estrutura, ou enumeração).

Comentários

O tipo de dados Object pode apontar para dados de qualquer tipo de dados, incluindo qualquer instância do objeto que aplicativo reconhece.Use Object quando você não souber em tempo de compilação para qual tipo de dados a variável pode apontar.

O valor padrão do Object é Nothing (uma referência nula).

Tipos de dados

Você pode atribuir uma variável, constante ou expressão de qualquer tipo de dados a uma variável Object.Para determinar o tipo de dados a que uma variável Object atualmente refere-se, você pode usar o método GetTypeCode da classe System.Type.O exemplo a seguir ilustra isto:

Dim myObject As Object
' Suppose myObject has now had something assigned to it.
Dim datTyp As Integer
datTyp = Type.GetTypeCode(myObject.GetType())

O tipo de dados Object é um tipo de referência.No entanto, o Visual Basic trata uma variável Object como um tipo de valor quando ela se refere a dados de um tipo de dados de valor.

Armazenamento

Para qualquer tipo de dados ao qual ela se refere, uma variável Objectnão contém o valor dos dados em si, mas em vez disso, um ponteiro para o valor.Ela sempre usa quatro bytes na memória do computador, mas isso não inclui o armazenamento de dados que representam o valor da variável.Por causa do código que usa o ponteiro para localizar os dados, variáveis Object armazenando os tipos de valor são um pouco mais lentas para acesso do que variáveis tipadas explicitamente.

Dicas de Programação

  • Considerações de Interoperabilidade. Se você estiver interfaceando com componentes que não foram escritos para o .NET Framework, por exemplo objetos de automação ou objetos COM, tenha em mente que tipos de ponteiro em outros ambientes não são compatíveis com o tipo do Visual Basic Object.

  • Desempenho. Uma variável que você declara com o tipo Object é flexível o suficiente para conter uma referência a qualquer objeto.No entanto, quando você chama um método ou propriedade nesse tipo de variável, você sempre provoca ligação atrasada (no tempo de execução).Para forçar ligação antecipada (em tempo de compilação) e um melhor desempenho, declarar a variável com um nome de classe específico, ou converta-o para o tipo de dados específico.

    Quando você declarar uma variável de objeto, tente usar um tipo de classe específico, por exemplo OperatingSystem, em vez do tipo generalizado Object.Você também deve usar a classe mais específica disponível, tais como TextBox em vez de Control, para que você possa acessar suas propriedades e métodos.Geralmente, você pode usar a lista Classes no pesquisador de objetos para localizar nomes de classe disponíveis.

  • Ampliação. Todos os tipos de dados e tipos de referência ampliam-se para o tipo de dados Object.Isso significa que você pode converter qualquer tipo para Object sem encontrar um erro System.OverflowException.

    No entanto, se você converter entre tipos de valor e Object, o Visual Basic executa operações chamadas boxing e unboxing , que tornam a execução mais lenta.

  • **Type Characters.**Object has no literal type character or identifier type character.

  • Tipos de Framework. O tipo correspondente no Framework .NET é a classe System.Object.

Exemplo

O exemplo a seguir ilustra uma variável Object apontando para uma instância do objeto.

Dim objDb As Object
Dim myCollection As New Collection()
' Suppose myCollection has now been populated.
objDb = myCollection.Item(1)

Consulte também

Tarefas

Como: Determinar se dois objetos são relacionados

Como: Determinar se dois objetos são idênticos

Conceitos

Uso eficiente de tipos de dados

Objeto como o Tipo de Dados Universal

Referência

Resumo de tipo de dados (Visual Basic)

Object

Funções de conversão de tipo 

Resumo de conversão