Condividi tramite


Procedura: Determinare il tipo a cui fa riferimento una variabile oggetto (Visual Basic)

Una variabile oggetto contiene un puntatore ai dati archiviati altrove. Il tipo di dati può cambiare durante l'esecuzione. In qualsiasi momento, è possibile usare il GetTypeCode metodo per determinare il tipo di runtime corrente o l'operatore TypeOf per verificare se il tipo di runtime corrente è compatibile con un tipo specificato.

Per determinare il tipo esatto a cui si riferisce attualmente una variabile oggetto

  1. Nella variabile oggetto chiamare il GetType metodo per recuperare un System.Type oggetto .

    Dim myObject As Object
    myObject.GetType()
    
  2. Nella classe System.Type, chiamare il metodo statico GetTypeCode per recuperare il valore di enumerazione TypeCode per il tipo dell'oggetto.

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

    È possibile testare il valore di enumerazione TypeCode contro qualunque membro di enumerazione che ti interessa, ad esempio Double.

Per determinare se il tipo di una variabile oggetto è compatibile con un tipo specificato

  • Usa l'operatore TypeOf in combinazione con l'operatore Is per testare l'oggetto con un'espressione TypeOf...Is.

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

    L'espressione TypeOf...Is restituisce True se il tipo di runtime dell'oggetto è compatibile con il tipo specificato.

    Il criterio di compatibilità dipende dal fatto che il tipo specificato sia una classe, una struttura o un'interfaccia. In generale, i tipi sono compatibili se l'oggetto è dello stesso tipo di , eredita da o implementa il tipo specificato. Per altre informazioni, vedere Operatore TypeOf.

Compilare il codice

Si noti che il tipo specificato non può essere una variabile o un'espressione. Deve essere il nome di un tipo definito, ad esempio una classe, una struttura o un'interfaccia. Sono inclusi tipi intrinseci, Integer ad esempio e String.

Vedere anche