Sdílet prostřednictvím


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ů

  1. Deklarace začněte tak, jako byste plánovali použít konstruktor.

    Dim student1 As New Student

  2. Zadejte klíčové slovo Withnásledované inicializačním seznamem ve složených závorkách.

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

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

  4. Alternativně můžete deklarovat novou instanci třídy a pak k ní přiřadit hodnotu. Nejprve deklarujte instanci Student:

    Dim student2 As Student

  5. Zahajte vytváření instance Student normálním způsobem.

    Dim student2 As Student = New Student

  6. 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"}
    
  7. Definici v předchozím kroku můžete zjednodušit vynecháním As Student. Pokud to uděláte, kompilátor určí, že student3 se jedná o instanci Student 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.

Viz také