Gewusst wie: Deklarieren eines Objekts mithilfe eines Objektinitialisierers (Visual Basic)

Objektinitialisierer ermöglichen Ihnen, in einer einzelnen Anweisung eine Instanz einer Klasse zu deklarieren und zu instanziieren.Weiterhin können ein oder mehrere Member der Instanz gleichzeitig initialisiert werden, ohne einen parametrisierten Konstruktor aufzurufen.

Wenn Sie mit einem Objektinitialisierer eine Instanz eines benannten Typen erstellen, wird der standardmäßige Konstruktor für diese Klasse aufgerufen, gefolgt von der Initialisierung der angegebenen Member in der festgelegten Reihenfolge.

In der folgenden Prozedur wird dargestellt, wie eine Instanz einer Student-Klasse auf drei verschiedene Weisen erstellt werden kann.Die Klasse verfügt unter anderem über einen Vornamen, einen Nachnamen und Klassenjahreseigenschaften.Jede dieser drei Deklarationen erstellt eine neue Instanz von Student, in der die First-Eigenschaft auf "Michael", die Last-Eigenschaft auf "Tucker" und die verbleibenden Member auf ihre Standardwerte festgelegt sind.Das Ergebnis jeder Deklaration in der Prozedur entspricht dem folgenden Beispiel, in dem kein Objektinitialisierer verwendet wurde.

Dim student0 As New Student
With student0
    .First = "Michael"
    .Last = "Tucker"
End With

Weiter Informationen zur Implementierung der Student-Klasse finden Sie unter Gewusst wie: Erstellen einer Liste von Elementen.Sie können den Code dieses Themas kopieren, um die Klasse einzurichten und eine Liste von Student-Objekten zum Arbeiten zu erstellen.

So erstellen Sie mithilfe eines Objektinitialisierers ein Objekt einer benannten Klasse

  1. Beginnen Sie die Deklaration so, als ob Sie einen Konstruktor verwenden wollten.

    Dim student1 As New Student

  2. Geben Sie das Schlüsselwort With gefolgt von einer Initialisierungsliste in geschweiften Klammern ein.

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

  3. Schließen Sie in die Initialisierungsliste sämtliche Eigenschaften ein, die initialisiert werden sollen, und weisen Sie ihnen einen Anfangswert zu.Der Name der Eigenschaft wird von einem voranstehenden Punkt eingeleitet.

    Dim student1 As New Student With {.First = "Michael", 
                                      .Last = "Tucker"}
    

    Sie können einen oder mehrere Member der Klasse initialisieren.

  4. Wahlweise können Sie eine neue Instanz der Klasse deklarieren und ihr dann einen Wert zuweisen.Deklarieren Sie zuerst eine Instanz von Student:

    Dim student2 As Student

  5. Beginnen Sie wie gewohnt mit der Erstellung einer Instanz von Student.

    Dim student2 As Student = New Student

  6. Geben Sie With gefolgt von einem Objektinitialisierer ein, um einen oder mehrere Member der neuen Instanz zu initialisieren.

    Dim student2 As Student = New Student With {.First = "Michael", 
                                                .Last = "Tucker"}
    
  7. Sie können die Definition im vorherigen Schritt vereinfachen, indem Sie As Student auslassen.In diesem Fall bestimmt der Compiler mithilfe des lokalen Typrückschlusses, dass student3 eine Instanz von Student ist.

    Dim student3 = New Student With {.First = "Michael", 
                                     .Last = "Tucker"}
    

    Weitere Informationen finden Sie unter Lokaler Typrückschluss (Visual Basic).

Siehe auch

Aufgaben

Gewusst wie: Erstellen einer Liste von Elementen

Konzepte

Lokaler Typrückschluss (Visual Basic)

Objektinitialisierer: Benannte und anonyme Typen (Visual Basic)

Anonyme Typen (Visual Basic)