Страницы

Поиск по вопросам

суббота, 20 апреля 2019 г.

Разница get; set;

Не совсем понял разницу между
public object Variable1 {get; set; }
и
public object Variable1 { get { return this.Variable1; } set {this.Variable1 = value; } }
В обоих случаях это свойство. Отличается ли не обработанные геттер и сеттер от обработанных таким образом?


Ответ

В том виде, который привели вы, разница в том, что первый пример кода корректный, а второй - нет :) У вас во втором случае чтение свойства возвращает это же свойство, что приводит к возврату этого же свойства - и так до бесконечности. Как заметили в комментариях, это бесконечная рекурсия. Вероятно, вы имели в виду вот это:
private object field1; public object Variable1 { get { return field1; } set { field1 = value; } }
Вот в этом случае разницы нет, public object Variable1 {get; set; } - это автоматически реализуемое свойство, по смыслу - абсолютно тоже самое.

Комментариев нет:

Отправить комментарий