clr的执行模型(下)

1.1   通用类型系统

Common type system用于描述类型的定义和行为,具体可以看ECMA,最好了解一下es5 es6。

一个类可以包含0个或多个成员,字段、方法、属性、事件。

Private 类内部访问

Assembly 同一程序级访问

Family or assembly 由程序集中的派生类访问

Public 任何人都可以访问

1.2   公共语言规范

不同语言创建的对象可通过com相互通信,clr使用标准类型集、元素据、公共执行环境集成了所有语言。Common language specification,cls详细定义了最小功能集,编译器支持该功能集,生成的类型才兼容其他符合cls、面向clr的语言生成的组件。

1.3   与非托管代码的互操作性

Clr支持三种互相操作:

(1)托管代码能调用dll中的非托管函数

托管代码通过P/Invoke机制调用dll中的函数。

(2)托管代码可以使用现有COM组件(服务器)

 对于大量非托管com服务器,可创建一个托管程序集来描述com组件,托管代码可以像访问托管类型一样访问托管程序集中的类型。

(3)非托管代码可以使用托管类型(服务器)

posted @ 2019-01-10 14:37  GiserDog  阅读(110)  评论(0编辑  收藏  举报