Hey,

On 1/14/09, Augusto Radtke <[email protected]> wrote:
>
>  Hello! I'm trying to generate a generic type calling it's constructor
>  but I can't get it right:
>
>     var ntor = assembly.Modules[0].Import(typeof(int?).GetConstructors
>  ()[0]);
>     var gene = new GenericInstanceMethod(ntor);
>
>     gene.GenericArguments.Add(assembly.Modules[0].Import(typeof
>  (int)));
>
>      il.Append(il.Create(OpCodes.Ldc_I4, 555)));
>      il.Append(il.Create(OpCodes.Newobj, assembly.Modules[0].Import
>  (gene)));
>
>  That generates something like this in IL:
>
>  newobj instance void [mscorlib]System.Nullable`1<int32>::.ctor<int32>
>  (int32)
>
>  I also tried to remove the generic argument, and it generated
>  something like this:
>
>  newobj instance void [mscorlib]System.Nullable`1<int32>::.ctor(int32)
>
>  And what I'm looking for to generate is:
>
>  newobj instance void [mscorlib]System.Nullable`1<int32>::.ctor(!0)
>

Then just pass `ntor` to newobj :)

-- 
Jb Evain  <[email protected]>

--~--~---------~--~----~------------~-------~--~----~
--
mono-cecil
-~----------~----~----~----~------~----~------~--~---

Reply via email to