本示例说明如何使用反射发出。反射发出是一种运行库特征,允许代码创建动态程序集、模块和类型。可以动态地创建这些类型的实例加以使用,或者使用反射发出生成程序集并以可执行文件或 DLL 形式存储到磁盘上。本示例由两个可执行文件组成。第一个可执行文件 EmitAssembly.exe 生成一个动态类型并对其进行测试,或生成一个动态类型并将其以 DLL 形式存储到磁盘上。第二个可执行文件 TestEmittedAssembly.exe 仅测试 EmitAssembly.exe 动态发出的程序集。EmitAssembly.exe 发出的类型是一个名为“HelloWorld”的简单类,其构造函数采用单个字符串参数。此类型还实现了一个 GetGreeting() 方法,该方法用于返回传递给实例构造函数的字符串。