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