field - 字段支持的属性声明

重要

关键字 field 是 C# 13 中的预览功能。 必须使用 .NET 9 并将元素preview设置为<LangVersion>项目文件中,才能使用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# 语法和用法的权威资料。