Я знаю, что автоматические свойства должны определять метод доступа get и set, я также знаю, что любой из этих методов доступа можно сделать невидимым с помощью модификатора доступа.
Есть ли техническийпричина, по которой компилятор доволен
public object Property { get; set; }
, но не
public object Property { get; }
Мое (возможно, неправильное) понимание этого кода заключается в том, что компилятор создает поле поддержки, которое скрыто от вызывающегокод, подобный так:
private object hiddenField; //hidden by compiler.
public object Property
{
get { return hiddenField; }
set { hiddenField = value;}
}
Если компилятор может сгенерировать это, есть ли причина, по которой он не может опустить функцию доступа set, основываясь на наличии (или его отсутствии) метода set в объявлении свойства.
Я понимаю, что это может быть не столько из-за технических ограничений, сколько из области возможностей, я также свободно признаю, что еще не ознакомился со спецификацией языка C #.
[ ОБНОВЛЕНИЕ 2 ]
Прости меня ... Я идиот: P, теперь я вижу, спасибо всем за поддержку моего старшего момента /