Postupy: Deklarace objektu pomocí inicializátoru objektu (Visual Basic)
Inicializátory objektů umožňují deklarovat a vytvořit instanci třídy v jednom příkazu. Kromě toho můžete inicializovat jeden nebo více členů instance současně bez vyvolání parametrizovaného konstruktoru.
Při použití inicializátoru objektu k vytvoření instance pojmenovaného typu, je volán konstruktor bez parametrů pro třídu následovaný inicializací určených členů v pořadí, které zadáte.
Následující postup ukazuje, jak vytvořit instanci Student
třídy třemi různými způsoby. Třída má mimo jiné jméno, příjmení a vlastnosti roku předmětu. Každá ze tří deklarací vytvoří novou instanci Student
, s vlastností First
nastavenou na "Michael", vlastnost Last
nastavena na "Tucker" a všechny ostatní členy nastaveny na jejich výchozí hodnoty. Výsledek každé deklarace v postupu je ekvivalentní následujícímu příkladu, který nepoužívá inicializátor objektů.
Dim student0 As New Student
With student0
.First = "Michael"
.Last = "Tucker"
End With
Implementace Student
třídy naleznete v tématu Postupy: Vytvoření seznamu položek. Kód z tohoto tématu můžete zkopírovat, abyste nastavili třídu a vytvořili seznam Student
objektů, se kterými chcete pracovat.
Vytvoření objektu pojmenované třídy pomocí inicializátoru objektů
Deklarace začněte tak, jako byste plánovali použít konstruktor.
Dim student1 As New Student
Zadejte klíčové slovo
With
následované inicializačním seznamem ve složených závorkách.Dim student1 As New Student With { <initialization list> }
V seznamu inicializace uveďte každou vlastnost, kterou chcete inicializovat, a přiřaďte k ní počáteční hodnotu. Název vlastnosti předchází tečka.
Dim student1 As New Student With {.First = "Michael", .Last = "Tucker"}
Můžete inicializovat jeden nebo více členů třídy.
Alternativně můžete deklarovat novou instanci třídy a pak k ní přiřadit hodnotu. Nejprve deklarujte instanci
Student
:Dim student2 As Student
Zahajte vytváření instance
Student
normálním způsobem.Dim student2 As Student = New Student
Zadejte
With
a pak objekt inicializátor inicializovat jeden nebo více členů nové instance.Dim student2 As Student = New Student With {.First = "Michael", .Last = "Tucker"}
Definici v předchozím kroku můžete zjednodušit vynecháním
As Student
. Pokud to uděláte, kompilátor určí, žestudent3
se jedná o instanciStudent
pomocí odvození místního typu.Dim student3 = New Student With {.First = "Michael", .Last = "Tucker"}
Další informace naleznete v tématu Odvození místního typu.