field
— объявления свойств с поддержкой полей
Внимание
Ключевое field
слово — это предварительная версия функции в C# 13. Для использования контекстного ключевого field
слова необходимо использовать .NET 9 и задать <LangVersion>
элемент preview
в файле проекта.
Следует тщательно использовать функцию field
ключевого слова в классе с именем field
поля. Новое field
ключевое слово тенирует поле с именем field
в области доступа к свойствам. Можно изменить имя переменной field
или использовать @
маркер для ссылки на field
идентификатор как @field
. Дополнительные сведения см. в спецификации компонента для ключевого field
слова.
Контекстное ключевое слово field
, добавленное как предварительная версия функции в C# 13, можно использовать в методе доступа к свойству для доступа к синтезированному полю резервной копии свойства компилятором. Этот синтаксис позволяет определить тело 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#.