Valeurs des variables objets (Visual Basic)

Une variable du type de données d’objet peut faire référence à des données de n’importe quel type. La valeur que vous stockez dans une variable Object est conservée ailleurs dans la mémoire, tandis que la variable elle-même contient un pointeur vers les données.

Fonctions de classifieur d’objets

Visual Basic fournit des fonctions qui retournent des informations sur ce à quoi fait référence une variable Object, comme indiqué dans le tableau suivant.

Fonction Retourne true si la variable objet fait référence à
IsArray un tableau de valeurs plutôt qu’une valeur unique
IsDate une valeur type de données date ou une chaîne pouvant être interprétée comme une valeur de date et d’heure
IsDBNull un objet de type DBNull, qui représente des données manquantes ou inexistantes
IsError un objet d’exception, qui dérive de Exception
IsNothing Rien, c’est-à-dire qu’aucun objet n’est actuellement affecté à la variable
IsNumeric Nombre, ou chaîne pouvant être interprétée comme un nombre
IsReference un type de référence (tel qu’une chaîne, un tableau, un délégué ou un type de classe)

Vous pouvez utiliser ces fonctions pour éviter d’envoyer une valeur non valide à une opération ou à une procédure.

TypeOf, opérateur

Vous pouvez également utiliser l’opérateur TypeOf pour déterminer si une variable objet fait actuellement référence à un type de données spécifique. L’expression TypeOf...Is indique True si le type d’exécution de l’opérande est dérivé du type spécifié ou l’implémente.

L’exemple suivant utilise TypeOf sur des variables objet faisant référence aux types valeur et référence.

' 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’exemple précédent écrit les lignes suivantes dans la fenêtre Débogage :

num is Integer

num is Object

frm is Form

frm is Object

La variable d’objet num fait référence à des données de type Integer, et frm fait référence à un objet de classe Form.

Tableaux d'objets

Vous pouvez déclarer et utiliser un tableau de variables Object. Cela est utile lorsque vous devez gérer divers types de données et classes d’objets. Tous les éléments d’un tableau doivent avoir le même type de données déclaré. La déclaration de ce type de données comme Object vous permet de stocker des objets et des instances de classe en même temps que d’autres types de données dans le tableau.

Voir aussi