欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c# 所有类型都从Object类型派生

程序员文章站 2023-11-05 21:30:34
clr要求每一个类型都最终从object类型派生,如下: class typer {} === class typer :object {} 上面是完全相等的。 所有的类型...
clr要求每一个类型都最终从object类型派生,如下:
class typer {} === class typer :object {}

上面是完全相等的。

所有的类型最终从object派生,每一个类型都有一组最基本的方法:

equals:如果两个对象相等,返回true
gethashcode:返回对象值的一个哈希码
tostring:默认返回类型的完整名称,int等类型被重写
gettype:返回调用的那个对象的类型

此外,从object派生类型能访问受保护的方法

memberwiseclone:返回一个新实类
finalize:虚方法,在内存回收之前调用

clr要求所有的对象都用new操作符来创建:

1、计算类型及其所有的基类型,还有一些额外的成员
2、从堆分配指定类型要求的字节数
3、调用类型的实例构造器,向其传入在对new的调用中指定的任何实参,

每一个类型构造器在调用时,都要负责初始化这个类型定义的实例字段,最终调用object的构造器。

new执行之后,返回新建对象的一个引用。