Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Ключевое слово set определяет метод доступа в свойстве или индексаторе, который присваивает значение свойству элемента индексатора. Дополнительные сведения и примеры см. в разделе "Свойства", "Автоматически реализованные свойства" и "Индексаторы".
Справочные документы по языку C# описывают последнюю выпущенную версию языка C#. Она также содержит начальную документацию по функциям в общедоступных предварительных версиях для предстоящего языкового выпуска.
Документация определяет любую функцию, впервые представленную в последних трех версиях языка или в текущих общедоступных предварительных версиях.
Подсказка
Чтобы узнать, когда функция впервые появилась в C#, ознакомьтесь со статьей об истории версий языка C#.
В простых случаях, когда get свойства и set методы доступа не выполняют никаких других операций, кроме установки или извлечения значения в закрытом поле резервного копирования, используйте автоматически реализованные свойства. В следующем примере реализуется Hours как автоматически реализованное свойство.
class TimePeriod3
{
public double Hours { get; set; }
}
Внимание
Нельзя использовать автоматически реализованные свойства для объявлений свойств интерфейса или реализации для частичного свойства. Компилятор интерпретирует синтаксис, соответствующий автоматически реализованному свойству, как объявление объявления, а не объявление реализации.
Может потребоваться реализовать один из органов доступа. Ключевое field слово, добавленное в C# 14, объявляет резервное свойство поля. Используйте свойство с поддержкой поля, чтобы компилятор создавал один метод доступа во время записи с другой стороны. Используйте ключевое field слово для доступа к синтезированному полю резервной копии компилятора:
class TimePeriod4
{
public double Hours {
get;
set => field = (value >= 0)
? value
: throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
}
}
Метод доступа set часто состоит из одного оператора, который присваивает значение, как в предыдущем примере. Метод доступа set можно реализовывать как элемент, воплощающий выражение. В приведенном ниже примере методы доступа get и set реализуются как члены, воплощающие выражение.
class TimePeriod2
{
private double _seconds;
public double Seconds
{
get => _seconds;
set => _seconds = value;
}
}
В приведенном ниже примере определен как метод доступа get, так и метод доступа set для свойства с именем Seconds. Для возвращения значения свойства в нем используется закрытое поле с именем _seconds.
class TimePeriod
{
private double _seconds;
public double Seconds
{
get { return _seconds; }
set
{
if (value < 0)
{
throw new ArgumentOutOfRangeException(nameof(value), "The value of the time period must be non-negative.");
}
_seconds = value;
}
}
}
Спецификация языка C#
Дополнительные сведения см. в спецификации языка C#. Спецификация языка является предписывающим источником информации о синтаксисе и использовании языка C#.