Visual Studio 2017建议删除公共财产的私有字段

时间:2018-10-18 13:50:06

标签: c# visual-studio-2017

我刚刚更新了VS2017,现在建议我删除所有私有字段并仅使用公共属性。

原始代码:

private string description = "";
public string Description { get => description; set => description = value; }

现在建议我应该使用:

        public string Description { get; set; } = "";

我是否缺少某些东西,因为我认为基于 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1051-do-not-declare-visible-instance-fields?view=vs-2017

正确的方法是什么?这样做的好处是什么?

1 个答案:

答案 0 :(得分:0)

两个实现都将生成相同的基础中间语言代码。但是,建议的更改将使代码更易于阅读。

虽然原始代码并不是真的很难阅读,但是它更加“冗长”,因此,下一个编码器在以后(或您自己的六个月后)阅读时会付出更多的努力。为了理解带有后备字段的代码,请查看get / set,然后查看已声明的private变量,以查看实际更改或使用的内容。简化的代码全都在一行上,因此需要更少的工作。

CA1051文档中的警告是指已声明一个公共变量,而不是公共属性。细微的区别是建议的语法确实实现了建议,因为该语言允许快捷方式不公开基础变量,并且仍然易于阅读。