field
- 欄位支援的屬性宣告
重要
關鍵詞 field
是 C# 13 中的預覽功能。 您必須使用 .NET 9,並將項目 <LangVersion>
檔中的 元素設定為 preview
,才能使用 field
內容關鍵詞。
您應該小心在 field
類別中使用關鍵詞功能,其具有名為 field
的欄位。 新的 field
關鍵詞會遮蔽屬性存取子範圍中名為 field
的欄位。 您可以變更變數的名稱 field
,或使用 @
權杖將識別元參考 field
為 @field
。 您可以閱讀 關鍵詞的功能規格field
來深入瞭解。
新增為 C# 13 中預覽功能的內容關鍵詞 field
,可用於屬性存取子,以存取屬性的編譯程式合成支援字段。 此語法可讓您定義 或 set
存取子的主體,並讓編譯程式在自動實作的屬性get
中產生另一個存取子。
field
新增內容關鍵詞可提供順暢的路徑,以將範圍檢查等優點新增至自動實作的屬性。 下列範例顯示此做法:
class TimePeriod4
{
public double Hours {
get;
set => field = (value >= 0)
? value
: throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
}
}
您可以將 屬性實 Hours
作為自動實作的屬性。 然後,您發現您想要防止負值。 您會使用 field
並提供存取子中的 set
範圍檢查。 您不需要手動宣告支援欄位,並提供存取子的 get
主體。
C# 語言規格
如需詳細資訊,請參閱<C# 語言規格>。 語言規格是 C# 語法及用法的限定來源。