0
我想为在运行时构建的对象创建一个构造函数,该构造函数调用一个方法,该方法接收传递给ctor的所有参数的对象数组。看一下如何构建它似乎我必须做这样的事情::如何在ConstructorBuilder中定义局部变量?
method pulbic hidebysig specialname rtspecialname instance void .ctor(SomeObject arg) cil managed
{
ldarg.0
call void MyNameSpace.BaseClass::.ctor();
ldc.i4.1
newarr System.Object
stloc.0
ldloc.0
ldc.i4.0
ldarg.1
stelem.ref
ldloc.0
call void SomeClass.Method(object[])
ret
}
相当简单的这样一种方法,但如何界定object[]
类型的构造函数生成器的局部变量?似乎没有办法定义变量,或者我只是发出一个stloc.0/ldloc.0
而不关心首先定义变量?
哇,到底我怎么会错过!我认为ref.emit仍然是一个可怕的秘密行动... – 2010-12-16 00:11:35