2007年2月12日
摘要: 9.1 实例构造器CLR要求每个引用类型至少定义一个实例构造器。在创建一个引用类型的实例时,系统首先为该实例分配内存,然后初始化对象的附加成员(即方法表指针和一个SyncBlockIndex),最后调用类型的实例构造器设置对象的初始化状态对于引用类型,默认情况下如果没有显式定义实例构造器,许多编译器包括C#都会自动定义一个公有的无参构造器少数几种情况下,类实例的创建不需要调用实例构造器,如调用Ob... 阅读全文
posted @ 2007-02-12 18:17 jiangnii 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 8.1 常数常数通常只能是编译器认为的基元类型,在编译时编译器将常数的值保存在其所定义模块的元数据内。枚举类型由于本身以基元类型形式存储,故也可以被用来定义常数。(这里枚举以基元类型存储不知道是指在CTS里都是这样还是特指C#里的做法)常数总是被认为是类型的一部分而非实例C#不允许为常数指定static关键字,因为常数隐含为static因为常数是在编译时被直接把值嵌入到IL代码中,而不是运行时加载... 阅读全文
posted @ 2007-02-12 13:44 jiangnii 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 7.1 类型成员一个类型可定义零个或多个以下成员:常数、字段、实例构造器、类型构造器、方法、重载操作符、转换操作符、属性、事件、类型 7.2 访问限定修饰符和预定义特征访问限定修饰符指出了哪些类型和成员可以被其他的代码合法地引用,预定义特征则在访问限定修饰符的基础上为我们提供了更多的选择,并允许我们改变一个成员的语义 C#中可应用与类型、字段和方法的访问限定修饰符有:private、protect... 阅读全文
posted @ 2007-02-12 12:48 jiangnii 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 6.1 对象的等值性与唯一性System.Object类型中的Equals方法是比较两个引用,如果指向的是同一个对象则返回true,否则在任何其他情况下都返回false 当重写自己的Equals方法时,必须确保它遵循以下4条规则: 1、Equals方法必须是自反的,也就是说x.Equals(x)必须返回true 2、Equals方法必须是对称的,也就是说x.Equals(y)和y.Equa... 阅读全文
posted @ 2007-02-12 10:17 jiangnii 阅读(245) 评论(0) 推荐(0) 编辑