gpt4 book ai didi

c# - 类 : Fields, 属性、构造函数、方法中项目的顺序

转载 作者:IT王子 更新时间:2023-10-29 03:27:14 30 4
gpt4 key购买 nike

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

行不行:

  • 公共(public)领域
  • 私有(private)领域
  • 属性
  • 构造器
  • 方法

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

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

有什么提示/建议吗?

最佳答案

根据StyleCop Rules Documentation顺序如下。

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

  • 常量字段
  • 领域
  • 构造器
  • 终结器(析构器)
  • 代表
  • 事件
  • 枚举
  • 接口(interface)(接口(interface)实现)
  • 属性
  • 索引器
  • 方法
  • 结构
  • 类(class)

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

  • 公开
  • 内部
  • protected 内部
  • protected
  • 私有(private)

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

  • 静态
  • 非静态

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

  • 只读
  • 非只读

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

  • 公共(public)静态方法
  • 公共(public)方法
  • 内部静态方法
  • 内部方法
  • protected 内部静态方法
  • protected 内部方法
  • protected 静态方法
  • protected 方法
  • 私有(private)静态方法
  • 私有(private)方法

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

关于c# - 类 : Fields, 属性、构造函数、方法中项目的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/150479/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com