{
// Implementation code goes here.
}
5.6
public class ObsoleteAttribute {
}
属性 (Attribute)
应该总是将后缀 Attribute 添加到自定义属性类。以下是正确命名的属性类的示例。
5.7 枚举 (Enum)
枚举 (Enum) 值类型从 Enum 类继承。以下规则概述枚举的命名指南: 1 对于 Enum 类型和值名称使用 Pascal 大小写。 2 少用缩写。
3 不要在 Enum 类型名称上使用 Enum 后缀。
4 对大多数 Enum 类型使用单数名称,但是对作为位域的 Enum 类型使用复数名称。 5 总是将 FlagsAttribute 添加到位域 Enum 类型。
5.8
参数
以下规则概述参数的命名指南:
1、使用描述性参数名称。参数名称应当具有足够的描述性,以便参数的名称及其类型可用于
在大多数情况下确定它的含义。
2、对参数名称使用 Camel 大小写。
3、 使用描述参数的含义的名称,而不要使用描述参数的类型的名称。开发工具将提供有关参
数的类型的有意义的信息。因此, 通过描述意义,可以更好地使用参数的名称。少用基于类型的参数名称,仅在适合使用它们的地方使用它们。
4、不要使用保留的参数。保留的参数是专用参数,如果需要,可以在未来的版本中公开它们。
相反,如果在类库的未来版本中需要更多的数据,请为方法添加新的重载。
5、不要给参数名称加匈牙利语类型表示法的前缀。
以下是正确命名的参数的示例。
Type GetType(string typeName)
string Format(string format, args() As object)
5.9 方法
以下规则概述方法的命名指南: 1 使用动词或动词短语命名方法。 2 使用 Pascal 大小写。
21
3 以下是正确命名的方法的实例。
RemoveAll() GetCharArray()
Invoke()
5.10 属性 (property)
以下规则概述属性的命名指南: 1 使用名词或名词短语命名属性。 2 使用 Pascal 大小写。 3 不要使用匈牙利语表示法。
4 考虑用与属性的基础类型相同的名称创建属性。例如,如果声明名为 Color 的属性,则属 性的类型同样应该是 Color。请参阅本主题中后面的示例。
以下代码示例阐释正确的属性命名。
public class SampleClass {
public Color BackColor {
// Code for Get and Set accessors goes here. } }
以下代码示例阐释提供其名称与类型相同的属性。
public enum Color {
// Insert code for Enum here. }
public class Control
{
public Color Color {
get {
// Insert code here. } set {
// Insert code here.
22
}
} }
以下代码示例不正确,原因是 Color 属性是 Integer 类型的。
public enum Color
{
// Insert code for Enum here.
}
public class Control {
public int Color {
// Insert code here } }
在不正确的示例中,不可能引用 Color 枚举的成员。Color.Xxx 将被解释为访问一个成员,
该成员首先获取 Color 属性( C# 中为 int 类型)的值,然后再访问该值的某个成员(该成 员必须是 System.Int32 的实例成员)。
5.11 事件
以下规则概述事件的命名指南:
1、对事件处理程序名称使用 EventHandler 后缀。
2、指定两个名为 sender 和 e 的参数。sender 参数表示引发事件的对象。sender 参数始 终是object 类型的,即使在可以使用更为特定的类型时也如此。与事件相关联的状态封装 在名为 e 的事件类的实例中。对 e 参数类型使用适当而特定的事件类。 3、用 EventArgs 后缀命名事件参数类。 4、考虑用动词命名事件。
5、使用动名词(动词的“ing”形式)创建表示事件前的概念的事件名称,用过去式表示事 件后。例如,可以取消的 Close 事件应当具有 Closing 事件和 Closed 事件。不要使用 BeforeXxx/AfterXxx 命名模式。
6、不要在类型的事件声明上使用前缀或者后缀。例如,使用 Close,而不要使用 OnClose。
7、通常情况下,对于可以在派生类中重写的事件,应在类型上提供一个受保护的方法(称为 OnXxx)。此方法只应具有事件参数 e,因为发送方总是类型的实例。
以下示例阐释具有适当名称和参数的事件处理程序。
public delegate void MouseEventHandler(object sender, MouseEventArgs e);
23
以下示例阐释正确命名的事件参数类。
public class MouseEventArgs : EventArgs { int x;
int y;
public MouseEventArgs(int x, int y) {
this.x = x; this.y = y; }
public int X { get {
return x; } }
public int Y {
get {
return y; } } }
5.12 常量 (const)
以下规则概述常量的命名指南:
所有单词大写,多个单词之间用 \隔开。 如
public const string PAGE_TITLE = \
5.13 字段
以下规则概述字段的命名指南:
1、private、protected 使用 Camel 大小写。 2、public 使用 Pascal 大小写。
3、拼写出字段名称中使用的所有单词。仅在开发人员一般都能理解时使用缩写。字段名称不 要使用大写字母。下面是正确命名的字段的示例。
24
class SampleClass {
string url;
string destinationUrl;
}
4、不要对字段名使用匈牙利语表示法。好的名称描述语义,而非类型。
5、不要对字段名或静态字段名应用前缀。具体说来,不要对字段名称应用前缀来区分静态和非静态字段。例如,应用 g_ 或 s_ 前缀是不正确的。
6、对预定义对象实例使用公共静态只读字段。如果存在对象的预定义实例,则将它们声明为 对象本身的公共静态只读字段。使用 Pascal 大小写,原因是字段是公共的。下面的代码 示例阐释公共静态只读字段的正确使用。
public struct Color {
public static readonly Color Red = new Color(0x0000FF);
public Color(int rgb)
{
// Insert code here.}
public Color(byte r, byte g, byte b) {
// Insert code here.
}
public byte RedValue { get {
return Color; } } }
5.14 静态字段
以下规则概述静态字段的命名指南:
1、使用名词、名词短语或者名词的缩写命名静态字段。 2、使用 Pascal 大小写。
3、对静态字段名称使用匈牙利语表示法前缀。 4、建议尽可能使用静态属性而不是公共静态字段。
25
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库Csharp编程规范(5)在线全文阅读。
相关推荐: