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