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
Begin de declaratie alsof u een constructor wilde gebruiken.
Dim student1 As New Student
Typ het trefwoord
With
, gevolgd door een initialisatielijst in accolades.Dim student1 As New Student With { <initialization list> }
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.
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
Begin met het maken van een exemplaar van
Student
op de normale manier.Dim student2 As Student = New Student
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"}
U kunt de definitie in de vorige stap vereenvoudigen door weg te
As Student
laten. Als u dit doet, bepaalt de compiler datstudent3
dit een exemplaar is vanStudent
het lokale type deductie.Dim student3 = New Student With {.First = "Michael", .Last = "Tucker"}
Zie Deductie van lokaal type voor meer informatie.