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

标签 c# visual-studio-2017 roslyn

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

enter image description here

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

或者为此目的使用方法而不是属性可以获得任何 yield 吗?

最佳答案

这不是来自 Visual Studio 的建议,它是 Quick Action :

Quick Actions let you easily refactor, generate, or otherwise modify code with a single action.

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

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

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

关于c# - 为什么 VS 2017 建议用方法替换属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45610419/

相关文章:

c# - 从 C++ 回调到 C#

c++ - gmock.h 不包含在我的 Google 测试的外部依赖项中

c# - 如何以编程方式向项目添加程序集引用?

c# - 使用Roslyn替换span内的所有节点

c# - 在 Roslyn 中,如何从 SymbolFinder.FindCallersAsync 获取文档信息?

c# - PostBack 后在 GridView 中保留 DataSource

带 SSL/Https 的 C# RESTService

c# - Dictionary<> 中的条目是否有限制?

c++ - 警告 C26454 : Arithmetic overflow: '-' operation produces a negative unsigned result at compile time (io. 5)