C# 14 新增的上下文關鍵字 field可在屬性存取器中使用,以存取編譯器合成的屬性後盾欄位。 此語法可讓您定義 或 get 存取子的主體,並讓編譯程式在自動實作的屬性set中產生另一個存取子。
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# 語法及用法的限定來源。