Тривиальные свойства когда-либо спасали ваш бекон?

Есть много советов, что вы не должны открывать свои поля публично, а вместо этого использовать тривиальные свойства. Я вижу это снова и снова.

Я понимаю аргументы, ноЯ не думаю, что это хороший совет в большинстве случаев.

У кого-нибудь есть пример времени, когда это действительно имело значение? Когда написание тривиального свойства сделало что-то важное возможным в будущем (или, если его не использовать, это привело к реальным неприятностям)?

РЕДАКТИРОВАТЬ: Аргумент DataBinding является правильным, но не очень интересным. Это ошибка в коде DataBinding, которая не принимает открытые поля. Таким образом, мы должны написать свойства, чтобы обойти эту ошибку, а не потому, что свойства - мудрый выбор дизайна класса.

РЕДАКТИРОВАТЬ: Чтобы быть ясным, я ищу реальные примеры, а не теории. Время, когда это действительно имело значение.

РЕДАКТИРОВАТЬ: Возможность установить точку останова на сеттер кажется ценной. Разработка моего кода для отладчика неудачна: я бы предпочел, чтобы отладчик стал умнее, но, учитывая тот отладчик, который у нас есть, я воспользуюсь этой способностью. Хорошая вещь.

Ответы на вопрос(11)

Ваш ответ на вопрос