一尘不染

类中项目的顺序:字段,属性,构造函数,方法

c#

是否有关于类结构顺序的正式C#准则?

它会去吗:

  • 公共领域
  • 私人领域
  • 物产
  • 建设者
  • 方法

我很好奇,关于项目顺序是否有严格的规定?我到处都是。我想坚持一个特定的标准,所以我可以在任何地方都可以做到。

真正的问题是我的更复杂的属性最终看起来很像方法,并且它们在构造函数之前的顶部感觉不合适。

有任何提示/建议吗?


阅读 278

收藏
2020-05-19

共1个答案

一尘不染

根据StyleCop规则文档,顺序如下。

在类,结构或接口中:(SA1201和SA1203)

  • 常数场
  • 领域
  • 建设者
  • 终结器(析构函数)
  • 代表们
  • 大事记
  • 枚举
  • 接口( 接口实现
  • 物产
  • 索引器
  • 方法
  • 结构
  • 班级

在以下每个组中,按访问顺序排序:(SA1202)

  • 上市
  • 内部
  • 受保护的内部
  • 受保护的
  • 私人的

在每个访问组中,先按静态,然后按非静态顺序排序:(SA1204)

  • 静态的
  • 非静态

在每个静态/非静态字段组中,按只读顺序排序,然后按非只读顺序排序:(SA1214和SA1215)

  • 只读
  • 非只读

展开的列表长130行,因此在这里我不会展开。展开的方法部分是:

  • 公共静态方法
  • 公开方法
  • 内部静态方法
  • 内部方法
  • 受保护的内部静态方法
  • 受保护的内部方法
  • 受保护的静态方法
  • 受保护的方法
  • 私有静态方法
  • 私人方法

文档指出,如果规定的顺序不合适(例如,正在实现多个接口,并且应该将接口方法和属性分组在一起),则可以使用局部类将相关的方法和属性分组在一起。

2020-05-19