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

它会去吗:

  • 公共(public) Realm
  • 专用栏位
  • 属性
  • 构造函数
  • 方法

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

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

    有任何提示/建议吗?

    最佳答案

    根据StyleCop Rules Documentation的排序如下。

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

  • 常数字段
  • 字段
  • 构造函数
  • 终结器(析构函数)
  • 代表
  • Activity
  • 枚举
  • 接口(interface)(接口(interface)实现)
  • 属性
  • 索引器
  • 方法
  • 结构

  • 在以下每个组中,按访问顺序排序:(SA1202)
  • 公共(public)
  • 内部
  • protected 内部
  • protected
  • 私有(private)

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

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

  • 展开的列表长130行,因此在这里我不会展开。展开的方法部分是:
  • 公共(public)静态方法
  • 公共(public)方法
  • 内部静态方法
  • 内部方法
  • protected 内部静态方法
  • protected 内部方法
  • protected 静态方法
  • protected 方法
  • 私有(private)静态方法
  • 私有(private)方法

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

    10-04 12:08
    查看更多