На данный вопрос уже ответили:
Какой смысл использовать автоматические свойства в C#? Они ведь не способствуют поддержке инкапсуляции, так как мы не накладываем никакие ограничения в контексте get и set. По факту, нет никакой разницы, работать ли напрямую с состоянием объекта или работать с автоматическим свойством. Для чего тогда они нужны?
Большинство использует это как карго-культ. И для сценария получения/установки хватит, конечно, и публичных полей.
Однако код продукта со временем развивается, и, возможно, вам со временем понадобится некоторая логика (например, валидация) при получении или установке значения. В этом случае вам придется менять поле на свойство или пару методов. А это уже несовместимое изменение.
От такого как раз и спасут свойства -- пара get/set у вас уже есть, останется добавить нужную логику. И именно потому, что получение и установка значения уже инкапсулирована в свойство, такое изменение будет незаметно для клиентов.
Задел на будущее - ничто не мешает в перспективе заменить их на обычные свойства без модификации клиентского кода. Кроме того, они могут быть виртуальными и объявляться в интерфейсах.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Есть функцияТуда я бросаю список List<double>, прохожусь по каждому элементу и рассчитываю некоторыми функциями новый массив
Есть программа, в которой проводится цикл и в нем параллельные вычисленияВсе вычисления, как я понял, проходят на процессоре, использую всё...
Возможно ли по средством кода добавить в Prefab другой Prefab? К примеру есть рукоядка топора и одеть на неё лезвие топора?
Привет!Я разрабатываю для себя приложение на С# с использованием Entity Framework и у меня начало получатся добавлять и выводить данные с базы но мне...