c#中的命名约定

Nes*_*tor 29 c# naming-conventions

c#的普遍接受的命名约定是什么?(函数,类,参数,局部变量,命名空间等)

Jon*_*eet 64

Microsoft 在类库设计方面有一套很好的指导原则,包括一个关于命名部分.简而言之(括号中的例子):

  • 类/结构:PascalCase(WebRequest)
  • 接口:带前缀为I的PascalCase(IDisposable)
  • 方法:PascalCase(ToUpper)
  • 属性:PascalCase(Length)
  • 事件:PascalCase(Click)
  • 命名空间:PascalCase(但System.Collections不常见的是在一个部分中有两个单词)
  • 包含参数的非常量变量:camelCased(keySelector)
  • 常量:PascalCase(Int32.MaxValue)
  • 枚举:PascalCase,非标志的单数和标志的复数(HttpStatusCode,BindingFlags)
  • 属性:带有"Attribute"后缀的PascalCase(ThreadStaticAttribute)

私人名称取决于您,但我倾向于遵循与其他所有内容相同的约定.不建议使用匈牙利表示法(以Win32的方式),尽管许多地方使用"m_"或"_"作为实例变量的前缀.


DL *_*han 5

Resharper 的指导方针建议


  • 类型和命名空间UpperCamelCase
  • 接口IUpperCamelCase
  • 类型参数TUpperCamelCase
  • 方法属性和事件UpperCamelCase
  • 局部变量lowerCamelCase
  • 局部常量lowerCamelCase
  • 参数lowerCamelCase
  • 字段(非私有)UpperCamelCase
  • 实例字段(私有)_lowerCamelCase
  • 静态字段(私有)_lowerCamelCase
  • 常量字段(非私有)UpperCamelCase
  • 常量字段(私有)UpperCamelCase
  • 静态只读字段(非私有)UpperCamelCase
  • 静态只读字段(私有)UpperCamelCase
  • 枚举成员UpperCamelCase
  • 所有其他实体UpperCamelCase