TOC

This article has been localized into Russian by the community.

C# 3.0:

Автоматические свойства

Настоящая боль в шее для всех программистов, пишущих объектно-ориентированный код, всегда объявление открытых свойств для всех личных полей. С этим множество утомительной работы особенно потому, что почти все свойства будут простым отображением get и set в частное поле, без добавления чего-либо умного, как это:

private string name;

public string Name
{
    get { return name; }
    set { name = value; }
}

С помощью такого простого свойства мы могли бы объявить поле public и использовать его напрямую вместо добавления дополнительного слоя свойства. Тем не менее, руководящие принципы ООП велят нам, сделать это таким образом, и большинство из нас сопротивляется искушению делать это легкий путь. С c # 3.0 нам больше не придется сталкиваться с этой дилеммой! Приведенный выше пример теперь можно записать следующим образом:

public string Name
{
    get;
    set;
}

Или, используя меньшее текста, как здесь:

public string Name { get; set; }

Нет объявления поля и нет кода для получения и установки значения поля. Все это автоматически обрабатывается компилятором, который автоматически создает закрытое поле и заполняет метод get и set базовым кодом, необходимым для чтения и записи поля. Снаружи это будет выглядеть как обычное свойство, но вы сохранили много дополнительных нажатий клавиш, и ваш класс будет менее раздутым. Конечно, вы все еще можете использовать старый способ, как показано в нашем первом примере - это просто Дополнительная функция, которую вы можете использовать, если вам это нравится.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!