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. En outre, vous pouvez initialiser un ou plusieurs membres de l’instance en même temps, sans avoir à appeler un constructeur paramétrable.

Lorsque vous utilisez un initialiseur d’objet pour créer une instance d’un type nommé, le constructeur sans paramètre de la classe est appelé, suivi de l’initialisation des membres désignés dans l’ordre que vous spécifiez.

La procédure suivante montre trois manières différentes de créer une instance d’une classe Student. La classe comporte des propriétés qui définissent le prénom, le nom et l’année scolaire, entre autres. Chacune des trois déclarations crée une nouvelle instance de Student, avec la propriété First définie sur "Michael", la propriété Last définie sur "Tucker" et tous les autres membres définis sur 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 Procédure : 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 créer un objet d’une classe nommée à l’aide d’un initialiseur d’objet

  1. Commencez la déclaration comme si vous vouliez utiliser un constructeur.

    Dim student1 As New Student

  2. Tapez le mot clé With, suivi d’une liste d’initialisation entre accolades.

    Dim student1 As New Student With { <initialization list> }

  3. Dans la liste d’initialisation, incluez chaque propriété à initialiser et attribuez-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.

  4. Vous pouvez également déclarer une nouvelle instance de la classe, puis lui attribuer une valeur. Tout d’abord, déclarez une instance de Student :

    Dim student2 As Student

  5. Commencez la création d’une instance de Student de la façon habituelle.

    Dim student2 As Student = New Student

  6. TapezWith, 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"}
    
  7. Vous pouvez simplifier la définition à 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 de variable locale.

    Dim student3 = New Student With {.First = "Michael", 
                                     .Last = "Tucker"}
    

    Pour plus d’informations, consultez Inférence de type de variable locale.

Voir aussi