field - 字段支持的属性声明

在 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# 语法和用法的权威资料。