在ViewModel中对命令使用私有集的目的是什么?

时间:2019-01-29 14:57:42

标签: c# .net wpf mvvm

我最近开始研究MVVM设计模式中命令的使用,并注意到在我在线上找到的大多数示例中,在教程,书籍等中,VM中的ICommand对象都使用了private set的自动属性设置器。这些相同的示例还显示ICommand对象正在VM构造函数中实例化和分配,如果没有此自动属性设置器,这是允许的。因此,我的问题是,将private set与ICommand对象一起使用的目的是什么(假设在构建VM之后没有重新分配ICommand对象)?

之所以提出这一问题,是因为Visual Studio建议我从这些private set对象中删除ICommand,并且我想知道是否有任何理由不遵循该建议。

编辑: 这不是建议的副本。提议的重复项确实清楚地说明了私有集的用法,但未评论是否存在与ICommand相关的特质,这是我提出问题的目的。多亏了我收到的答复,我才知道没有,这仅仅是C#版本中的区别。

1 个答案:

答案 0 :(得分:0)

对于低于C#6的C#版本,自动属性需要专用设置器。从C#6开始,自动属性的私有设置器不是必须的,如果在构造函数或属性初始化程序中分配了属性,则可以将其省略。 Here是一个很好的解释。