Partager via


Procédure : 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 seule instruction. En outre, vous pouvez initialiser un ou plusieurs membres de l’instance en même temps, sans 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 comment créer une instance d’une Student classe de trois façons différentes. La classe possède des propriétés telles que le prénom, le nom de famille et l'année de classe, parmi d'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 de la procédure équivaut à 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 Student classe, consultez Guide pratique pour créer une liste d’éléments. Vous pouvez copier le code de cette rubrique pour configurer 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 prévoyiez 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 lui attribuer 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 manière habituelle.

    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 à l’étape précédente en omettant As Student. Si vous procédez ainsi, 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 l’inférence de type local.

Voir aussi