Я хотел бы создать конструктор для моего объекта, построенного во время выполнения, который вызывает метод, который принимает массив объектов всех параметров, переданных в 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[]
на CTOR строитель? Кажется, не существует способа определить переменные, или я просто испускаю stloc.0/ldloc.0
и не забочусь о его определении в первую очередь?
ничего себе, как, черт возьми, я скучаю, что! Я думаю, ref.emit все еще является ужасно тайной api ... – 2010-12-16 00:11:35