动态创建类和方法(一)

.net提供了在运行期动态创建类型的机制。Spring.net 中应用其中的实现来实现AOPProxy.

对于类,需要制定Assembly, Module, Class Name以及类中的成员。

对MSDN上面的代码解释一下:

首先制定需要创建类型的Assembly和Module

创建AssemblyBuilder和ModuleBuilder

通过使用ModuleBuilder创建TypeBuilder

创建TypeBuilder

创建成员字段

创建TypeBuilder

 

 

创建ConstructorBuilder


将以下代码以IL代码的形式写入

实际代码:

生成运行期构造函数

通过对比真实的IL代码,ldarg_0实际上就是获得this的引用,MSDN中没有详细解释arg_0,只是说明:Load argument 0 onto stack

arg_1, arg_2, arg_3是实际构造函数的三个参数,将其各自赋值到三个类成员变量x,y,z中。
 



 

posted @ 2010-04-21 17:13  D_Arthas  阅读(294)  评论(0编辑  收藏  举报