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 field
hat. 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#.