反射发出抽象化
更新:2007 年 11 月
反射发出抽象化与通用类型系统密切对应,而该系统是公共语言运行库的基础。
程序集是一组配置的可加载代码模块和其他资源,它们共同实现功能单元。程序集所具有的名称构成了通用类型系统命名层次结构的基础。
本主题将程序集分为静态程序集或动态程序集。静态程序集是从磁盘加载的程序集。动态程序集是用反射发出创建的程序集。下表按字母顺序显示反射发出使用的抽象化。
抽象 |
说明 |
---|---|
定义并表示动态程序集的类。从 Assembly 类继承。 |
|
定义并表示构造函数的类,它描述了创建类型实例的操作。从 ConstructorInfo 类继承。 |
|
帮助定义自定义属性的类。 |
|
定义可使用委托执行的全局方法的类。 |
|
帮助定义并表示枚举类型的类。从 Type 类继承。 |
|
用于定义并表示事件的类。从 EventInfo 类继承。对象类型的事件指定已命名的状态转换,在该转换中订户可以使用访问器方法注册或取消注册感兴趣的内容。 |
|
用于定义并表示字段的类。从 FieldInfo 类继承。字段是值的命名部分。类型可以有字段成员。模块或类型也可以引用可移植可执行 (PE) 文件的 .sdata 节中定义的字段。 |
|
用于定义和表示 Microsoft 中间语言 (MSIL) 的类。实时运行库编译器将 MSIL 中的说明翻译为本机代码。 |
|
一个类,它是 ILGenerator 类所使用的标签的不透明表示形式。标签对应于 MSIL 代码中的特定位置。 |
|
一个类,表示在方法体内声明的局部变量。 |
|
用于定义并表示方法的类。从 MethodInfo 类继承。方法描述可以对类型值执行的操作。 |
|
用于定义并表示模块的类。从 Module 类继承。 模块是编译单元或开发单元。使用反射发出 API 创建的模块在创建模块的运行期间称为动态模块。如果该模块被保存到磁盘然后从磁盘加载,则“动态模块”一词不适用。可以作为 PE 文件保存到磁盘的动态模块称为持久动态模块。仅存在于内存中的动态模块称为瞬态动态模块。 |
|
用于定义并表示参数的类。从 ParameterInfo 类继承。参数是表示方法或构造函数的参数的位置。 |
|
用于定义并表示属性的类。从 PropertyInfo 类继承。对象类型的属性指定命名值,通过读取和写入值的访问器方法可以访问这些值。 |
|
用于定义并表示类型的类。从 Type 类继承。类型描述值。类型定义类型值所支持的允许值和允许操作。类型成员可以是类型、方法、字段、属性或事件。 |