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