首页 > C# > c#类中项的顺序:字段、属性、构造函数、方法

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

上一篇 下一篇

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

它是否去:

  • 公共字段
  • 私有字段
  • 性能
  • 构造 函数
  • 方法

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

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

有什么提示/建议吗?

分割线

网友回答:

与其按可见性或项目类型(字段、属性、方法等)进行分组,不如按功能分组?

分割线

网友回答:

这是一个古老但仍然非常相关的问题,所以我要补充一点:当你打开一个你以前可能读过也可能没有读过的类文件时,你首先要寻找的是什么?领域?性能?我从经验中意识到,我几乎总是去寻找构造函数,因为要理解的最基本的事情是如何构造这个对象。

因此,我开始在类文件中将构造函数放在首位,结果在心理上非常积极。将构造函数放在一堆其他事情之后的标准建议感觉不和谐。

C# 6 中即将推出的主构造函数功能提供了证据,证明构造函数的自然位置位于类的最顶部 – 实际上,主构造函数甚至在大括号之前就已指定。

有趣的是,像这样的重新排序会产生多大的差异。这让我想起了语句过去是如何排序的——首先是 System 命名空间。Visual Studio 的“Organize Usings”命令使用了这个顺序。现在 s 只是按字母顺序排序,没有对系统命名空间进行特殊处理。结果只是感觉更简单、更干净。usingusing

分割线

网友回答:

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

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

  • 常量字段
  • 领域
  • 构造 函数
  • 终结器(析构函数)
  • 代表
  • 事件
  • 枚举
  • 接口(接口实现)
  • 性能
  • 索引
  • 方法
  • 结构体

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

  • 公共
  • 内部
  • 受保护的内部
  • 保护
  • 私人

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

  • 静态的
  • 非静态

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

  • 只读
  • 非只读

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

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

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

模板简介:该模板名称为【c#类中项的顺序:字段、属性、构造函数、方法】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【C#】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 308次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 03-30
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
微信图片 自适应 微信素材 企业网站 微信文章 微信模板 微信公众平台 响应式 html5 单页式简历模板
您可能会喜欢的其他模板