为什么 Microsoft 建议我们使用静态数据类型的属性,而不是静态字段?

Sup*_*Bob 1 c# field properties .net-core

这个还有用吗?

建议您尽可能使用静态属性而不是公共静态字段。

如果是这样,为什么?

编辑:当我们要求澄清为什么微软的编码风格是这样定义时,我不认为这是一个基于意见的问题。

Ren*_*ogt 5

在链接的文章中,还有另一个链接Field Usage Guidelines,其中包含以下说明:

不要使用公共或受保护(在 Visual Basic 中为公共或受保护)的实例字段。如果避免直接向开发人员公开字段,则可以更轻松地对类进行版本控制,因为在保持二进制兼容性的同时,字段无法更改为属性。

这适用于静态字段以及非静态/实例字段。这意味着您以后可以在不破坏依赖关系的情况下更改支持属性的字段的设置或获取方式。
如果您发布了带有公共字段的类,那么您永远无法在不打扰已经访问该字段的开发人员的情况下更改它。