Freigeben über


field - Deklarationen von Feld-gesicherten Eigenschaften

Verwenden Sie das kontextbezogene Schlüsselwort field, das in C# 14 eingeführt wurde, in einem Eigenschaftsaccessor, um auf das compilersynthetisierte Sicherungsfeld einer Eigenschaft zuzugreifen. Mithilfe dieser Syntax können Sie den Textkörper eines get Oder set Accessors definieren und dem Compiler das Generieren des anderen Accessors ermöglichen, wie er in einer automatisch implementierten Eigenschaft wäre.

Die C#-Sprachreferenz dokumentiert die zuletzt veröffentlichte Version der C#-Sprache. Außerdem enthält sie eine erste Dokumentation zu Funktionen in der öffentlichen Vorschau für die kommende Sprachversion.

In der Dokumentation werden alle Features identifiziert, die in den letzten drei Versionen der Sprache oder in der aktuellen öffentlichen Vorschau eingeführt wurden.

Tipp

Informationen dazu, wann ein Feature erstmals in C# eingeführt wurde, finden Sie im Artikel zum Versionsverlauf der C#-Sprache.

Das Hinzufügen des field Kontextschlüsselworts bietet einen reibungslosen Weg, um Vorteile wie die Bereichsüberprüfung zu einer automatisch implementierten Eigenschaft hinzuzufügen. Diese Vorgehensweise wird im folgenden Beispiel gezeigt:

class TimePeriod4
{
    public double Hours {
        get;
        set => field = (value >= 0)
            ? value
            : throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
    }
}

Sie können die Hours Eigenschaft als automatisch implementierte Eigenschaft implementieren. Anschließend stellen Sie fest, dass Sie vor einem negativen Wert schützen möchten. Verwenden field und Bereitstellen der Bereichsüberprüfung im set Accessor. Sie müssen das Sicherungsfeld nicht manuell deklarieren oder einen Textkörper für den get Accessor bereitstellen.

Weitere Informationen finden Sie in den Artikeln zu Eigenschaften und Indexern.

C#-Sprachspezifikation

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.