为什么VS 2017建议用方法替换属性?

时间:2017-08-10 09:56:58

标签: c# visual-studio-2017 roslyn

我注意到Visual Studio 2017中的每个属性都有一个快速操作,建议用方法替换它。

enter image description here

这是否意味着属性不是设置和获取字段值的推荐方法,Microsoft是否打算在将来弃用它?!

或者为此目的使用属性方法可以获得任何收益吗?

1 个答案:

答案 0 :(得分:13)

这不是Visual Studio的建议,而是Quick Action

  

快速操作让您可以通过一个操作轻松地重构,生成或以其他方式修改代码。

Visual Studio为您提供了一个选项,可以将属性转换为一对方法,并将私有变量转换为代码重构的一部分,如果您希望出于各种原因这样做。

例如,您可能会发现getter应该接收一个额外的参数,或者setter应该在其他类型上有重载。在这些情况下,需要一种方法而不是属性,因此Visual Studio为您提供了一种方法,只需点击几下即可完成。

对于没有任何行为的存储属性,例如类中的OfferPeriod属性,转换为一对方法与自动属性相比没有任何优势。