在属性访问器中使用 C# 14 中引入的上下文关键字 field访问属性的编译器合成后盾字段。 使用此语法,可以定义或set访问器的主体get,并允许编译器生成其他访问器,就像在自动实现的属性中一样。
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 属性实现为自动实现的属性。 然后,你发现你想要防范负值。 在 field 访问器中使用 set 并提供范围检查。 无需手动声明后备字段或为 get 访问器提供正文。
C# 语言规范
有关详细信息,请参阅 C# 语言规范。 该语言规范是 C# 语法和用法的权威资料。