Freigeben über


field - Deklarationen von Feld-gesicherten Eigenschaften

Wichtig

Das field Schlüsselwort ist ein Vorschaufeature in C# 13. Sie müssen .NET 9 verwenden und das <LangVersion> Element preview in Der Projektdatei festlegen, um das field Kontextschlüsselwort zu verwenden.

Achten Sie darauf, die field Schlüsselwortfunktion in einer Klasse zu verwenden, die ein Feld mit dem Namen fieldhat. Das neue field Schlüsselwort schattiert ein Feld, das im Bereich eines Eigenschaftenaccessors benannt field ist. Sie können entweder den Namen der field Variablen ändern oder das @ Token verwenden, um auf den field Bezeichner zu verweisen als @field. Weitere Informationen erhalten Sie, indem Sie die Featurespezifikation für das field Schlüsselwort lesen.

Das kontextbezogene Schlüsselwort field, das als Vorschaufeature in C# 13 hinzugefügt wurde, kann in einem Eigenschaftenaccessor verwendet werden, um auf das compilersynthetisierte Sicherungsfeld einer Eigenschaft zuzugreifen. Mit dieser Syntax können Sie den Textkörper eines get oder set eines Accessors definieren und dem Compiler das Generieren des anderen Accessors ermöglichen, wie er in einer automatisch implementierten Eigenschaft wäre.

Das Hinzufügen der field Kontextstichwörter 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. Sie verwenden field und stellen die Bereichsüberprüfung im set Accessor bereit. Sie müssen das Sicherungsfeld nicht manuell deklarieren und 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#.