类型与通用语言运行时

4.类型基础

CLR要求每个类型最终都要继承System.Object类型。

New操作符所执行的工作:

1.       从托管堆中分配指定类型所需数量的字节来作为存储其对象的内存空间

2.       初始化对象的附加成员:一个为指向类型方法表的指针,一个为SyncBlockIndex

3.       传入new操作符中指定的参数,调用类型的实例构造器

 

new操作符没有对应的delete操作符。

CLR中,我们无法显示的释放对象所占用的内存。CLR引入一种垃圾收集环境来自动检测

那些不再被使用或访问的对象,并自动释放他们的代码。

 

CLR一个重要的特性就是类型安全。

CLR允许我们将对象转换为其原来的类型或者它的任何一个基类型。

在运行时,CLR会检查转型操作以确保总是将对象转型它的实际类型、或者它的任何基类型。

 

is操作符可以检查对象是否和给定的类型兼容,并返回判断结果:true or false;

若对象引用为null,那么is操作符总是返回false

As操作符则是若兼容返回一个指向同一个对象的非空指针,否则,返回null

 

MSCorLib.dllMultilanguage Standard Common Object Runtime Library

 

如果微软和Wintellect都创建了Widget类型,则应用时必须加上前缀;也可用如下方法:

Using WintellectWidget=Wintellect.Widget;

C#中,命名空间隐含为公有,而且不能用任何的访问修饰符来修改它。

 

命名空间和程序集没有相关性。

 

(好累啊,只能学这么多了,明天补上来)

posted on 2009-02-24 22:38  Pavel Yu  阅读(927)  评论(0编辑  收藏  举报