C#动态类生成文章收藏
Exploring the System.Reflection.Emit Namespace(翻译)
System.Reflection.Emit命名空间提供了创建动态程序集的能力,动态程序集就是指在运行时创建的程序集。动态程序集能够被运行
或者保存到磁盘上。处于这个原因,许多的.net编译器使用了 System.Reflection.Emit来提供代码生成。在这片文章中,我们将探索下
System.Reflection.Emit命名空间,并构建一个简单的类库程序集
System.Reflection.Emit命名空间概览
类名: 描述
AssemblyBuilder 用来动态创建程序集
ModuleBuilder 用来动态创建模块
TypeBuilder 用来动态创建类型
FieldBuilder 用来动态创建字段
ConstructorBuilder 用来动态创建构造函数
MethodBuilder 用来动态创建方法
ILGenerator 用来生成il指令到动态创建的方法或构造函数中
OpCodes 包含il指令的类
Label (struct) 用来定义标签(用于il分支跳转)
另外还有一些还有一些其他的类,本文并没有用到。
类名: 描述:
CustomAttributeBuilder 用来创建自定义特性
EnumBuilder 用来创建枚举
EventBuilder 用来创建事件
LocalBuilder 用来创建方法和构造函数用到的局部变量
MethodRental 用来交换方法的实现
ParameterBuilder 用来创建方法和构造函数用到的参数
PropertyBuilder 用来创建类型的属性
SignatureHelper 用来创建字段,方法,属性和局部签名
UnmanagedMarshal 用来描述托管到非托管类型的封送
posted on 2010-05-26 07:34 yaoshiyou 阅读(1034) 评论(0) 编辑 收藏 举报