Не совсем понял разницу между
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; } - это автоматически реализуемое свойство, по смыслу - абсолютно тоже самое.
Комментариев нет:
Отправить комментарий