Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Una variabile del tipo di dati Object può fare riferimento ai dati di qualsiasi tipo. Il valore archiviato in una Object variabile viene mantenuto in un'altra posizione in memoria, mentre la variabile stessa contiene un puntatore ai dati.
Funzioni del classificatore di oggetti
Visual Basic fornisce funzioni che restituiscono informazioni su ciò che fa riferimento a una Object variabile, come illustrato nella tabella seguente.
| Funzione | Restituisce True se la variabile Object fa riferimento a |
|---|---|
| IsArray | Matrice di valori, anziché un singolo valore |
| IsDate | Valore Tipo di dati Data o stringa che può essere interpretata 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 | Nulla, 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.
Nell'esempio seguente viene usato TypeOf su variabili di oggetto che fanno riferimento a tipi di valore e di 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 num oggetto fa riferimento ai dati di tipo Integere frm fa riferimento a un oggetto della classe Form.
Matrici di oggetti
È possibile dichiarare e usare una matrice di Object variabili. 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, Object è possibile archiviare oggetti e istanze di classe insieme ad altri tipi di dati nella matrice.
Vedere anche
- Variabili oggetto
- Dichiarazione di variabile oggetto
- Assegnazione della variabile oggetto
- Procedura: Fare riferimento all'istanza corrente di un oggetto
- Procedura: Determinare il tipo a cui fa riferimento una variabile oggetto
- Procedura: Determinare se due oggetti sono correlati
- Procedura: Determinare se due oggetti sono identici
- Tipi di dati