C#:代码样式 - 成员的位置

时间:2011-03-04 10:31:01

标签: c# .net coding-style

我知道私人领域是第一位的。根据C#代码风格应该在哪里放置其他成员?

我的意思是:private / protected / internal / public fields / properties / methods / events。 我总是在课堂的最后部分安排活动。我有时会在使用它的公共财产附近放置私人方法。我不认为这是正确的位置,但我不能选择它和许多其他成员的地方。

6 个答案:

答案 0 :(得分:5)

根据StyleCop(Microsoft制作的样式检查程序),正确的顺序是:

  

相同类型的相邻元素   必须放在以下位置   按访问级别排序:

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

- 规则SA1202

您可能也对规则SA1201感兴趣,规则SA1201处理元素类型的顺序(即,字段先行,然后是构造函数,......)。

要阅读有关StyleCop规则指南的更多信息,请转到此处:http://stylecop.codeplex.com/releases/view/44839

答案 1 :(得分:4)

这是coding guidelines的一个例子(见最后,“文件组织”)。关于班级成员的顺序,有很多而不是所有人都同意。

作为个人喜好,我更喜欢使用#region - #endregion blocks按顺序对常量,字段,属性,构造函数,成员(公共优先,然后是内部,然后保护,然后是私有)进行分组。

我最后留下私人成员的原因是,当我阅读代码时,我希望在知道如何在私有成员中实现它之前,将该类的接口信息提供给外部世界。

答案 2 :(得分:1)

应使用确定的布局

将类组织到应用程序中的区域中

由您的应用程序架构师。这些可能基于可访问性,类型或功能。有关应用程序中使用的布局策略,请咨询您的架构师。

示例:

// Class layout based on accessibility
class Purchasing
{
    #region Main

    #region Public

    #region Internal

    #region Protected

    #region Private

    #region Extern

    #region Designer Generated Code
}

准则:

o在应用程序的所有类中始终使用相同的布局。

o如果不需要相关的类元素,则省略区域。

o不应手动修改由Visual Studio的可视设计器创建的Designer生成的代码区域。它应该只包含设计者生成的代码。

答案 3 :(得分:0)

我更喜欢

  • 私有
  • 保护
  • 公共

我认为在这种代码风格中你没有太多错误。

答案 4 :(得分:0)

做适合自己的事 - 只要保持一致。

答案 5 :(得分:0)

我认为,除非你弄乱你的代码弄乱所有东西并将它们放在一起,否则你可以选择你喜欢的顺序。

只要您与之保持一致,就没有正确的顺序。