Partilhar via


Como: Determinar a que tipo uma variável de objeto se refere (Visual Basic)

Uma variável de objeto contém um ponteiro para dados armazenados em outro lugar. O tipo desses dados pode mudar durante o tempo de execução. A qualquer momento, você pode usar o GetTypeCode método para determinar o tipo de tempo de execução atual ou o operador TypeOf para descobrir se o tipo de tempo de execução atual é compatível com um tipo especificado.

Para determinar o tipo exato ao qual uma variável de objeto se refere atualmente

  1. Na variável de objeto, chame o GetType método para recuperar um System.Type objeto.

    Dim myObject As Object
    myObject.GetType()
    
  2. System.Type Na classe, chame o método GetTypeCode compartilhado para recuperar o TypeCode valor de enumeração para o tipo do objeto.

    Dim myObject As Object
    Dim datTyp As Integer = Type.GetTypeCode(myObject.GetType())
    MsgBox("myObject currently has type code " & CStr(datTyp))
    

    Você pode testar o valor da enumeração em relação aos TypeCode membros da enumeração que forem de interesse, como Double.

Para determinar se o tipo de uma variável de objeto é compatível com um tipo especificado

  • Use o TypeOf operador em combinação com o operador Is para testar o objeto com uma TypeOfexpressão ...Is .

    If TypeOf objA Is System.Windows.Forms.Control Then
        MsgBox("objA is compatible with the Control class")
    End If
    

    A TypeOfexpressão ...Is retorna True se o tipo de tempo de execução do objeto for compatível com o tipo especificado.

    O critério de compatibilidade depende se o tipo especificado é uma classe, estrutura ou interface. Em geral, os tipos são compatíveis se o objeto for do mesmo tipo que, herda ou implementa o tipo especificado. Para obter mais informações, consulte TypeOf Operator.

Compilar o código

Observe que o tipo especificado não pode ser uma variável ou expressão. Deve ser o nome de um tipo definido, como uma classe, estrutura ou interface. Isto inclui tipos intrínsecos como Integer e String.

Consulte também