Porady: deklarowanie obiektu za pomocą inicjatora obiektów (Visual Basic)
Inicjatory obiektów umożliwiają deklarowanie i tworzenie wystąpienia wystąpienia klasy w jednej instrukcji. Ponadto można zainicjować co najmniej jeden element członkowny wystąpienia w tym samym czasie, bez wywoływania konstruktora sparametryzowanego.
Gdy używasz inicjatora obiektów do utworzenia wystąpienia nazwanego typu, wywoływany jest konstruktor bez parametrów dla klasy, a następnie inicjalizacja wyznaczonych elementów członkowskich w określonej kolejności.
Poniższa procedura przedstawia sposób tworzenia wystąpienia Student
klasy na trzy różne sposoby. Klasa ma między innymi właściwości imię, nazwisko i rok klasy. Każda z trzech deklaracji tworzy nowe wystąpienie Student
klasy , z właściwością First
ustawioną na "Michael", właściwość Last
ustawioną na "Tucker" i wszystkimi innymi elementami członkowskimi ustawionymi na wartości domyślne. Wynik każdej deklaracji w procedurze jest odpowiednikiem poniższego przykładu, który nie używa inicjatora obiektu.
Dim student0 As New Student
With student0
.First = "Michael"
.Last = "Tucker"
End With
Aby zapoznać się z Student
implementacją klasy, zobacz Instrukcje: tworzenie listy elementów. Możesz skopiować kod z tego tematu, aby skonfigurować klasę i utworzyć listę Student
obiektów do pracy.
Aby utworzyć obiekt nazwanej klasy przy użyciu inicjatora obiektu
Rozpocznij deklarację tak, jakby planowaliśmy użyć konstruktora.
Dim student1 As New Student
Wpisz słowo kluczowe
With
, a następnie listę inicjowania w nawiasach klamrowych.Dim student1 As New Student With { <initialization list> }
Na liście inicjowania uwzględnij każdą właściwość, którą chcesz zainicjować, i przypisz do niej wartość początkową. Nazwa właściwości jest poprzedzona kropką.
Dim student1 As New Student With {.First = "Michael", .Last = "Tucker"}
Można zainicjować co najmniej jeden składowy klasy.
Alternatywnie możesz zadeklarować nowe wystąpienie klasy, a następnie przypisać do niej wartość. Najpierw zadeklaruj wystąpienie klasy
Student
:Dim student2 As Student
Rozpocznij tworzenie wystąpienia
Student
w normalny sposób.Dim student2 As Student = New Student
Wpisz
With
, a następnie inicjator obiektu, aby zainicjować co najmniej jeden element członkowski nowego wystąpienia.Dim student2 As Student = New Student With {.First = "Michael", .Last = "Tucker"}
Definicję w poprzednim kroku można uprościć, pomijając
As Student
element . Jeśli to zrobisz, kompilator określi, żestudent3
jest to wystąpienie przy użyciu wnioskowania typu lokalnegoStudent
.Dim student3 = New Student With {.First = "Michael", .Last = "Tucker"}
Aby uzyskać więcej informacji, zobacz Wnioskowanie typu lokalnego.