Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit Objektinitialisierern können Sie eine Instanz einer Klasse in einer einzelnen Anweisung deklarieren und instanziieren. Darüber hinaus können Sie ein oder mehrere Member der Instanz gleichzeitig initialisieren, ohne einen parametrisierten Konstruktor aufrufen zu müssen.
Wenn Sie einen Objektinitialisierer verwenden, um eine Instanz eines benannten Typs zu erstellen, wird der parameterlose Konstruktor für die Klasse aufgerufen, gefolgt von der Initialisierung der angegebenen Member in der von Ihnen angegebenen Reihenfolge.
Das folgende Verfahren zeigt, wie Sie eine Instanz einer Student
Klasse auf drei verschiedene Arten erstellen. Die Klasse verfügt unter anderem über die Attribute Vorname, Nachname und Klassenjahr. Jede der drei Deklarationen erstellt eine neue Instanz von Student
, wobei die Eigenschaft First
auf "Michael" festgelegt ist, die Eigenschaft Last
auf "Tucker" festgelegt ist und alle anderen Elemente auf ihre Standardwerte festgelegt sind. Das Ergebnis jeder Deklaration in der Prozedur entspricht dem folgenden Beispiel, das keinen Objektinitialisierer verwendet.
Dim student0 As New Student
With student0
.First = "Michael"
.Last = "Tucker"
End With
Eine Implementierung der Student
Klasse finden Sie unter How to: Create a List of Items. Sie können den Code aus diesem Thema kopieren, um die Klasse einzurichten und eine Liste von Student
Objekten zu erstellen, mit denen Sie arbeiten können.
So erstellen Sie ein Objekt einer benannten Klasse mithilfe eines Objektinitialisierungsprogramms
Beginnen Sie die Deklaration so, als ob Sie einen Konstruktor verwenden möchten.
Dim student1 As New Student
Geben Sie die Schlüsselwort
With
ein, gefolgt von einer Initialisierungsliste in geschweiften Klammern.Dim student1 As New Student With { <initialization list> }
Schließen Sie in der Initialisierungsliste jede Eigenschaft ein, die Sie initialisieren möchten, und weisen Sie ihm einen Anfangswert zu. Dem Namen der Eigenschaft wird ein Punkt vorangestellt.
Dim student1 As New Student With {.First = "Michael", .Last = "Tucker"}
Sie können ein oder mehrere Member der Klasse initialisieren.
Alternativ können Sie eine neue Instanz der Klasse deklarieren und ihm dann einen Wert zuweisen. Deklarieren Sie zunächst eine Instanz von
Student
:Dim student2 As Student
Beginnen Sie die Erstellung einer Instanz
Student
auf normale Weise.Dim student2 As Student = New Student
Geben Sie
With
ein, gefolgt von einem Objektinitialisierer, um ein oder mehrere Mitglieder der neuen Instanz zu initialisieren.Dim student2 As Student = New Student With {.First = "Michael", .Last = "Tucker"}
Sie können die Definition im vorherigen Schritt vereinfachen, indem Sie weglassen
As Student
. Wenn Sie dies tun, bestimmt der Compiler mithilfe des lokalen Typinferenz, dassstudent3
eine Instanz vonStudent
ist.Dim student3 = New Student With {.First = "Michael", .Last = "Tucker"}
Weitere Informationen finden Sie unter „Lokale Typinferenz“.