1值类型与引用类型都有相应的类型对象,.net中的所有的类型对象(除type外) 的类型对象指针指向Type的实例type(CLR加载时候初始化),而type有个basetype属性指向Object的类型对象,另类型对象和类型对象的继承关系通过BaseType来引用,这样整个类型对象的就全部链接起来了,最底层的对象就是object的类型对象。
2而创建一个实例的时候 若果为值类型一般请况下在栈上包含值,而它如何调用方法呢?这是因为CLR总是隐士知道其类型对象,使得值类型可以像对象一样调用方法。若为引用类型,其包含一个类型指针指向其类型对象的方法表。
鉴于1、2所述,就清楚object是顶级基类这句话的含义了。也解释了结构类型从ValueType继承。,而valueType继承自Object. |