小编典典

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

all

在类结构方面是否有关于项目顺序的官方 C# 指南?

它去吗:

  • 公共领域
  • 私有字段
  • 特性
  • 构造函数
  • 方法

我很好奇是否有关于物品顺序的硬性规定?我有点到处都是。我想坚持一个特定的标准,这样我就可以在任何地方做到这一点。

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

任何提示/建议?


阅读 106

收藏
2022-03-02

共1个答案

小编典典

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

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

  • 常量字段
  • 字段
  • 构造函数
  • 终结器(析构函数)
  • 代表们
  • 活动
  • 枚举
  • 接口( 接口实现
  • 特性
  • 索引器
  • 方法
  • 结构
  • 课程

在每个组中按访问顺序排列:(SA1202)

  • 民众
  • 内部的
  • 受保护的内部
  • 受保护
  • 私人的

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

  • 静止的
  • 非静态

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

  • 只读
  • 非只读

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

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

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

2022-03-02