Valori di variabili oggetto (Visual Basic)
Una variabile del tipo di dati Object può fare riferimento ai dati di qualsiasi tipo. Il valore archiviato in una variabile Object
viene mantenuto in un'altra posizione in memoria, mentre la variabile stessa contiene un puntatore ai dati.
Funzioni di classificazione oggetti
Visual Basic fornisce funzioni che restituiscono informazioni su ciò a cui fa riferimento una variabile Object
, come illustrato nella tabella seguente.
Funzione | Restituisce True se la variabile Object fa riferimento a |
---|---|
IsArray | Matrice di valori, anziché un singolo valore |
IsDate | Un valore tipo di dati data o stringa che può essere interpretato come valore di data e ora |
IsDBNull | Oggetto di tipo DBNull, che rappresenta dati mancanti o inesistenti |
IsError | Oggetto eccezione, che deriva da Exception |
IsNothing | Nothing, ovvero nessun oggetto è attualmente assegnato alla variabile |
IsNumeric | Numero o stringa che può essere interpretata come numero |
IsReference | Tipo riferimento (ad esempio una stringa, una matrice, un delegato o un tipo di classe) |
È possibile usare queste funzioni per evitare di inviare un valore non valido a un'operazione o a una routine.
Operatore TypeOf
È anche possibile utilizzare l'operatore TypeOf per determinare se una variabile oggetto attualmente fa riferimento a un tipo di dati specifico. L'espressione TypeOf
...Is
restituisce True
se il tipo di runtime dell'operando è derivato o implementa il tipo specificato.
L'esempio seguente usa TypeOf
sulle variabili oggetto che fanno riferimento a tipi valore e riferimento.
' The following statement puts a value type (Integer) in an Object variable.
Dim num As Object = 10
' The following statement puts a reference type (Form) in an Object variable.
Dim frm As Object = New Form()
If TypeOf num Is Long Then Debug.WriteLine("num is Long")
If TypeOf num Is Integer Then Debug.WriteLine("num is Integer")
If TypeOf num Is Short Then Debug.WriteLine("num is Short")
If TypeOf num Is Object Then Debug.WriteLine("num is Object")
If TypeOf frm Is Form Then Debug.WriteLine("frm is Form")
If TypeOf frm Is Label Then Debug.WriteLine("frm is Label")
If TypeOf frm Is Object Then Debug.WriteLine("frm is Object")
L'esempio precedente scrive le righe seguenti nella finestra Debug:
num is Integer
num is Object
frm is Form
frm is Object
La variabile oggetto num
fa riferimento ai dati di tipo Integer
e frm
fa riferimento a un oggetto della classe Form.
Matrici di oggetti
È possibile dichiarare e usare una matrice di variabili Object
. Ciò è utile quando è necessario gestire un'ampia gamma di tipi di dati e classi di oggetti. Tutti gli elementi di una matrice devono avere lo stesso tipo di dati dichiarato. Dichiarando questo tipo di dati come Object
è possibile archiviare oggetti e istanze di classe insieme ad altri tipi di dati nella matrice.
Vedi anche
- Variabili oggetto
- Dichiarazione di variabili oggetto
- Assegnazione di variabili oggetto
- Procedura: fare riferimento all'istanza corrente di un oggetto
- Procedura: determinare a quale tipo fa riferimento una variabile oggetto
- Procedura: determinare se due oggetti sono correlati
- Procedura: determinare se due oggetti sono identici
- Tipi di dati