在屬性存取器中使用上下文關鍵字 field,該關鍵字在 C# 14 中引入,以存取該屬性的編譯器合成後盾欄位。 透過此語法,你可以定義一個 get or set 存取器的主體,並讓編譯器像自動實作的屬性一樣產生另一個存取器。
C# 語言參考資料記錄了 C# 語言最新版本。 同時也包含即將推出語言版本公開預覽功能的初步文件。
文件中標示了語言最近三個版本或目前公開預覽版中首次引入的任何功能。
小提示
欲查詢某功能何時首次在 C# 中引入,請參閱 C# 語言版本歷史的條目。
新增 field 上下文關鍵字,為自動實作屬性增添範圍檢查等功能提供了順暢的路徑。 下列範例顯示此做法:
class TimePeriod4
{
public double Hours {
get;
set => field = (value >= 0)
? value
: throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
}
}
您可以將 屬性實 Hours 作為自動實作的屬性。 然後,您發現您想要防止負值。 在接入器set中使用field並提供距離檢查功能。 你不需要手動宣告背景場,也不需要為附錄提供實體 get 。
C# 語言規格
如需詳細資訊,請參閱<C# 語言規格>。 語言規格是 C# 語法及用法的限定來源。