Share via


Procedure: Een object declareren met behulp van een Object Initializer (Visual Basic)

Met objectinitiitiizers kunt u een exemplaar van een klasse declareren en instantiëren in één instructie. Daarnaast kunt u een of meer leden van het exemplaar tegelijkertijd initialiseren zonder een geparameteriseerde constructor aan te roepen.

Wanneer u een objectinitialisatie gebruikt om een exemplaar van een benoemd type te maken, wordt de parameterloze constructor voor de klasse aangeroepen, gevolgd door initialisatie van aangewezen leden in de volgorde die u opgeeft.

In de volgende procedure ziet u hoe u op drie verschillende manieren een exemplaar van een Student klasse maakt. De klasse heeft onder andere eigenschappen voor voornaam, achternaam en klassejaar. Elk van de drie declaraties maakt een nieuw exemplaar van Student, waarbij de eigenschap First is ingesteld op 'Michael', eigenschap Last ingesteld op 'Tucker' en alle andere leden die zijn ingesteld op hun standaardwaarden. Het resultaat van elke declaratie in de procedure is gelijk aan het volgende voorbeeld, dat geen object-initialisatiefunctie gebruikt.

Dim student0 As New Student
With student0
    .First = "Michael"
    .Last = "Tucker"
End With

Zie Een lijst met items maken voor een implementatie van de Student klasse. U kunt de code uit dat onderwerp kopiëren om de klasse in te stellen en een lijst Student met objecten te maken waarmee u wilt werken.

Een object van een benoemde klasse maken met behulp van een object-initialisatiefunctie

  1. Begin de declaratie alsof u een constructor wilde gebruiken.

    Dim student1 As New Student

  2. Typ het trefwoord With, gevolgd door een initialisatielijst in accolades.

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

  3. Neem in de initialisatielijst elke eigenschap op die u wilt initialiseren en er een initiële waarde aan wilt toewijzen. De naam van de eigenschap wordt voorafgegaan door een punt.

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

    U kunt een of meer leden van de klas initialiseren.

  4. U kunt ook een nieuw exemplaar van de klasse declareren en er vervolgens een waarde aan toewijzen. Declareer eerst een exemplaar van Student:

    Dim student2 As Student

  5. Begin met het maken van een exemplaar van Student op de normale manier.

    Dim student2 As Student = New Student

  6. Typ With en vervolgens een object-initialisatiefunctie om een of meer leden van het nieuwe exemplaar te initialiseren.

    Dim student2 As Student = New Student With {.First = "Michael", 
                                                .Last = "Tucker"}
    
  7. U kunt de definitie in de vorige stap vereenvoudigen door weg te As Studentlaten. Als u dit doet, bepaalt de compiler dat student3 dit een exemplaar is van Student het lokale type deductie.

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

    Zie Deductie van lokaal type voor meer informatie.

Zie ook