Ich würde gerne einen Konstruktor für mein zur Laufzeit erstelltes Objekt erstellen, der eine Methode aufruft, die ein Objekt-Array aller Parameter annimmt, die an den ctor übergeben werden. Betrachtet man, wie ein solches Verfahren bauen es ich wie zu tun haben, etwas erscheint ::Wie definiere ich lokale Variablen in einem 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
}
recht einfach, aber wie definiere ich eine lokale Variable vom Typ object[]
auf dem Ctor Bauer? Es scheint keine Möglichkeit zu geben, Variablen zu definieren, oder gebe ich einfach eine stloc.0/ldloc.0
aus und kümmere mich nicht darum, sie zuerst zu definieren?
wow, wie zum Teufel habe ich das verpassen! Ich denke Ref.emit ist immer noch eine schrecklich heimliche ... –