clr的执行模型(下)

Posted lzcgis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)非托管代码可以使用托管类型(服务器)

以上是关于clr的执行模型(下)的主要内容,如果未能解决你的问题,请参考以下文章

CLR的执行模型

CLR的执行模型:加载

clr的执行模型(中)

C#基础之CLR的执行模型

CLR的执行模型(4):执行程序集的代码

CLR的执行模型(2):将托管模块合并成程序集