使用反射发出
更新:2007 年 11 月
本节描述可使用反射发出完成的基本任务。下列注意事项适用于任务说明。
MethodAttributes.SpecialName 属性 (Attribute) 应用于类型(使用 TypeAttributes 枚举指定)、方法(使用 MethodAttributes 枚举指定)、字段(使用 FieldAttributes 枚举指定)、属性 (Property)(使用 PropertyAttributes 枚举指定)和事件(使用 EventAttributes 枚举指定)。
MethodAttributes.SpecialName 属性用于指定名称专用于编译器、工具等。公共语言运行库不检查此属性。
MethodAttributes.RTSpecialName 属性只用于运行库。
本节内容
演练:从部分信任的方案中发出代码
演示如何从部分受信任的代码中创建和执行匿名承载的动态方法以及如何创建用于测试部分受信任的代码的应用程序域。如何:定义和执行动态方法
说明如何定义轻量动态方法、添加 MSIL 以及执行完成的方法而不会带来定义动态程序集的开销。如何:定义具有反射发出的泛型类型
演示如何在动态模块中定义泛型类型,如何定义其泛型类型参数,以及如何在方法签名中使用这些参数。如何:定义具有反射发出的泛型方法
演示如何在动态模块中定义泛型方法,如何定义其泛型类型参数,以及如何执行该方法。定义动态程序集
列出并介绍创建和使用动态程序集的方式。如何:使用完全签名来为动态程序集赋予强名称
说明如何为动态程序集提供强名称。定义动态模块
列出并介绍在动态程序集中创建动态模块的方式。用反射发出定义类型
介绍可创建类型的方式、可使用的属性以及对动态类型创建的限制。用反射发出定义枚举
列出用于定义动态枚举的类和方法。用反射发出定义构造函数
介绍动态类的构造函数的定义、所使用的属性以及限制。用反射发出定义方法
介绍在动态模块和动态类型中定义方法的方式、所使用的属性以及限制。用反射发出定义字段
列出用于为动态类型定义字段的类和方法。用反射发出定义属性
列出用于为动态类型定义属性的类和方法。用反射发出定义事件
列出用于为动态类型定义事件的类和方法。用反射发出定义参数
列出用于为动态模块和类型的方法定义参数的类和方法。用反射发出定义字符串常数
列出用于定义字符串常数的类和方法。用反射发出发出 MSIL 指令
说明如何通过将 MSIL 指令发到属性和方法来创建可执行代码。发出声明性安全属性
说明如何将声明性安全属性应用于动态程序集中的类型和成员以及应用于动态程序集本身。用反射发出发出资源
说明如何将资源添加到动态模块。用反射发出发出符号信息
说明如何添加可供调试器和其他工具使用的符号信息。