Мне нравятся автоматически внедряемые свойства в C #, но в последнее время в моей кабинке стоял слон, и я не знаю, что с ним делать.
Если я использую автоматически реализуемые свойства (далее «aip»), то у меня больше не будет частного поля поддержки для внутреннего использования. Это хорошо, потому что у aip нет побочных эффектов. Но что, если позже мне понадобится добавить дополнительную обработку в get или set?
Теперь мне нужно создать вспомогательное поле, чтобы я мог расширять свои методы получения и установки. Это хорошо для внешнего кода, использующего класс, потому что они не заметят разницы. Но теперь все внутренние ссылки на aip будут вызывать эти побочные эффекты при доступе к свойству. Теперь весь внутренний доступ к одному файлу должен быть реорганизован для использования отступающего поля.
Итак, мой вопрос, что большинство из вас делает? Используете ли вы автоматически внедряемые свойства или предпочитаете всегда использовать вспомогательное поле? Что вы думаете о свойствах с побочными эффектами?