Compartilhar via


Tipo de dados Object

Mantém endereços de que se referem a objetos.Você pode atribuir qualquer tipo de referência (cadeia de caracteres, 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 não escritos para o.NET Framework, por exemplo automação ou objetos COM, tenha em mente que o ponteiro em outros ambientes não é compatível com o tipo do Visual Basic Object .

  • Desempenho. Uma variável que você declara com o tipo de 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 associação tardia (no tempo de execução).Para forçar associação inicial (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 todos os tipos de referência alargam a Object o tipo de dados.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.

  • **Caracteres de tipo.**Object não tem caracteres de tipo literais ou caracteres de tipo identificadores.

  • Tipo de Framework. O tipo correspondente no.NET Framework é a classe de 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 (Visual Basic)

Como: determinar se dois objetos são idêntico (Visual Basic)

Referência

Resumo do tipo de dados (Visual Basic)

Object

Funções de conversão de tipo (Visual Basic)

Resumo de conversão (Visual Basic)

Conceitos

Uso eficiente dos tipos de dados (Visual Basic)