Share via


Comment : déclarer un objet à l'aide d'un initialiseur d'objet

Mise à jour : novembre 2007

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 une présentation vidéo, consultez Comment : déclarer un objet à l'aide d'un initialiseur d'objet.

Pour créer un objet de classe nommée à l'aide d'un initialiseur d'objet

  1. Commencez la déclaration comme si vous projetiez d'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é 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.

  4. 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

  5. Commencez par créer normalement une instance de Student.

    Dim student2 As Student = New Student

  6. 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"}
    
  7. 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.

Voir aussi

Tâches

Comment : créer une liste d'éléments

Comment : déclarer une instance d'un type anonyme

Concepts

Inférence de type local

Initialiseurs d'objets : types nommés et anonymes

Comparaison entre types nommés et types anonymes