Share via


Gewusst wie: Deklarieren einer Instanz eines anonymen Typs

Aktualisiert: November 2007

Mit anonymen Typen können Objekte erstellt werden, ohne eine Klassendefinition für den Datentyp zu schreiben. Stattdessen erstellt der Compiler eine Klasse. Da der Name des Datentyps nicht angegeben wird, wird er als anonymer Typ bezeichnet.

Sie können eine Instanz eines anonymen Typs deklarieren, indem Sie eine Initialisiererliste verwenden, um die Eigenschaften anzugeben. Sie geben den Namen der Instanz, den Namen jeder Eigenschaft sowie den Anfangswert jeder Eigenschaft an. Außerdem geben Sie für jede Eigenschaft an, ob es sich um eine Schlüsseleigenschaft handelt.

Deklaration

So deklarieren Sie eine Instanz eines anonymen Typs

  1. Beginnen Sie mit einer Dim-Anweisung ohne As-Klausel.

    Dim instanceName

  2. Weisen Sie in derselben Anweisung instanceName die Eigenschaftenliste für den Typ zu, und schließen Sie die Liste in Klammern mit den vorangestellten Schlüsselwörtern New With ein.

    Dim instanceName = New With {<property names and initial values>}

    Beginnen Sie jeden neuen Eigenschaftennamen mit einem Punkt, und weisen Sie ihm einen Anfangswert zu. Wenn die Eigenschaft eine Schlüsseleigenschaft sein soll, stellen Sie dem Eigenschaftennamen das Schlüsselwort Key voran. (Weitere Informationen finden Sie unter Key (Visual Basic).) Trennen Sie die Eigenschaften durch Kommas. Beachten Sie, dass Sie den Datentyp einer Eigenschaft nicht direkt angeben können. Der Typ wird aus dem Anfangswert abgeleitet.

    Dim instanceName = New With {Key .Rank = 8, _
                                 Key .Title = "Comptroller", _
                                 .Location = "headquarters"}
    
  3. Die Deklaration ist vollständig. Sie können auf die Eigenschaften von instanceName so zugreifen wie auf die Eigenschaften anderer Objekte. Allerdings können die Werte von Schlüsseleigenschaften nicht geändert werden.

    instanceName.Location = "conference"
    Console.WriteLine(instanceName.Title)
    ' The following statement does not compile, because Rank is
    ' a key property and cannot be changed.
    ' instanceName.Rank = 9
    
  4. Weitere Informationen über andere Möglichkeiten, Eigenschaften von anonymen Typen zu deklarieren, finden Sie unter Gewusst wie: Ableiten von Eigenschaftennamen und Typen in Deklarationen von anonymen Typen.

Robuste Programmierung

Ein anonymer Typ ist sinnvoll, wenn Sie ein temporäres Objekt erstellen möchten, das verknüpfte Daten enthalten soll, oder wenn jede Deklaration eine andere Auswahl von Eigenschaften enthalten soll.

Es gibt Einschränkungen bei der Verwendung anonymer Typen. Vor allem ist der Name des anonymen Typs nicht verfügbar und kann im Code an den Stellen, an denen ein Typname erwartet wird, nicht verwendet werden. Weitere Informationen zum Programmieren mit anonymen Typen finden Sie unter Anonyme Typen.

Siehe auch

Aufgaben

Gewusst wie: Ableiten von Eigenschaftennamen und Typen in Deklarationen von anonymen Typen

Konzepte

Lokaler Typrückschluss

Anonyme Typen

Referenz

Key (Visual Basic)