Procedura: determinare a quale tipo fa riferimento una variabile oggetto
Aggiornamento: novembre 2007
Una variabile oggetto contiene un puntatore a dati archiviati in un'altra posizione. Il tipo di questi dati può cambiare in fase di esecuzione. In qualsiasi momento, è possibile utilizzare il metodo GetTypeCode per individuare il tipo corrente in fase di esecuzione o l'Operatore TypeOf (Visual Basic) per determinare se tale tipo è compatibile con un tipo specificato.
Per determinare il tipo esatto a cui fa attualmente riferimento una variabile oggetto
Nella variabile oggetto chiamare il metodo GetType per recuperare un oggetto System.Type.
Dim myObject As Object myObject.GetType()
Nella classe System.Type chiamare il metodo condiviso 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 rispetto a un qualsiasi membro di enumerazione, ad esempio Double.
Per determinare se il tipo di una variabile oggetto è compatibile con un tipo specificato
Utilizzare l'operatore TypeOf insieme all'Operatore Is (Visual Basic) 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 in fase di esecuzione dell'oggetto è compatibile con il tipo specificato.
Il criterio per la compatibilità varia a seconda che il tipo specificato sia una classe, una struttura o un'interfaccia. In generale, i tipi sono compatibili se il tipo dell'oggetto corrisponde al tipo specificato oppure se l'oggetto eredita o implementa il tipo specificato. Per ulteriori informazioni, vedere Operatore TypeOf (Visual Basic).
Compilazione del codice
Tenere presente che il tipo specificato non può essere una variabile o un'espressione, ma deve essere il nome di un tipo definito, ad esempio una classe, una struttura o un'interfaccia, inclusi i tipi intrinseci quali Integer e String.
Vedere anche
Concetti
Variabili oggetto in Visual Basic