Какова цель использования закрытого набора для команд в ViewModel? - PullRequest
0 голосов
/ 29 января 2019

Я недавно начал изучать использование команд в шаблоне проектирования MVVM и заметил, что в большинстве примеров, которые я нахожу в Интернете, в учебных пособиях, книгах и т. Д., Объект ICommand в виртуальной машине использует автоустановщик свойства private set.Эти же примеры также показывают, что объект ICommand создается и присваивается в конструкторе VM, что допустимо без этого автоматического установщика свойств.Поэтому мой вопрос заключается в том, какова цель использования private set с объектами ICommand (при условии, что объект ICommand не переназначается после создания виртуальной машины)?

Причина, по которой я поднимаю это, заключается в том, что Visual Studio предлагаетчто я удаляю private set из этих ICommand объектов, и мне интересно, есть ли какая-либо причина не следовать этой рекомендации.

Редактировать: Это не дубликат, как предложено.Предложенный дубликат четко объясняет использование частного набора, но он не комментирует, есть ли особенность, связанная с ICommand, которая является целью моего вопроса.Благодаря полученному ответу я узнал, что его нет, и что это просто разница в версиях C #.

1 Ответ

0 голосов
/ 29 января 2019

В версиях C # более ранних, чем C # 6, для авто свойств требовался частный установщик.Начиная с C # 6 закрытый установщик для авто свойств не является обязательным и может быть опущен, если свойство назначено в конструкторе или инициализаторе свойства. Здесь - хорошее объяснение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...