Comment : déclarer un objet à l'aide d'un initialiseur d'objet (Visual Basic)
Les initialiseurs d'objets vous permettent de déclarer et d'instancier une instance d'une classe dans une instruction unique. De plus, vous pouvez initialiser simultanément un ou plusieurs membres de l'instance, sans appeler un constructeur paramétré.
Lorsque vous utilisez un initialiseur d'objet pour créer une instance d'un type nommé, le constructeur par défaut pour la classe est appelé, suivi par l'initialisation de membres désignés dans l'ordre que vous spécifiez.
La procédure suivante indique comment créer une instance d'une classe Student de trois façons différentes. La classe possède, entre autres, des propriétés de prénom, de nom et d'année de classe. Chacune des trois déclarations crée une nouvelle instance de Student, la propriété First ayant la valeur "Michael", la propriété Last la valeur "Tucker", et tous les autres membres leurs valeurs par défaut. Le résultat de chaque déclaration dans la procédure est équivalent à l'exemple suivant, qui n'utilise pas d'initialiseur d'objet.
Dim student0 As New Student
With student0
.First = "Michael"
.Last = "Tucker"
End With
Pour une implémentation de la classe Student, consultez Comment : créer une liste d'éléments. Vous pouvez copier le code de cette rubrique pour définir la classe et créer une liste d'objets Student à utiliser.
Pour obtenir une version vidéo de cette rubrique, consultez Vidéo : comment déclarer un objet à l'aide d'un initialiseur d'objet (page éventuellement en anglais).
Pour créer un objet de classe nommée à l'aide d'un initialiseur d'objet
Commencez la déclaration comme si vous projetiez d'utiliser un constructeur.
Dim student1 As New Student
Tapez le mot clé With, suivi d'une liste d'initialisation entre accolades.
Dim student1 As New Student With { <initialization list> }
Dans la liste d'initialisation, incluez chaque propriété que vous souhaitez initialiser et assignez-lui une valeur initiale. Le nom de la propriété est précédé d'un point.
Dim student1 As New Student With {.First = "Michael", .Last = "Tucker"}
Vous pouvez initialiser un ou plusieurs membres de la classe.
Vous pouvez également déclarer une nouvelle instance de la classe, puis lui assigner une valeur. En premier lieu, déclarez une instance de Student :
Dim student2 As Student
Commencez par créer normalement une instance de Student.
Dim student2 As Student = New Student
Tapez With, puis un initialiseur d'objet pour initialiser un ou plusieurs membres de la nouvelle instance.
Dim student2 As Student = New Student With {.First = "Michael", .Last = "Tucker"}
Vous pouvez simplifier la définition dans l'étape précédente en omettant As Student. Dans ce cas, le compilateur détermine que student3 est une instance de Student en utilisant l'inférence de type local.
Dim student3 = New Student With {.First = "Michael", .Last = "Tucker"}
Pour plus d'informations, consultez Inférence de type local (Visual Basic).
Voir aussi
Tâches
Comment : créer une liste d'éléments
Comment : déclarer une instance d'un type anonyme (Visual Basic)
Concepts
Inférence de type local (Visual Basic)
Initialiseurs d'objets : types nommés et anonymes (Visual Basic)
Comparaison entre types nommés et types anonymes (Visual Basic)