il.Emit(OpCodes.Ldarg_0); // <-- problem here
Since your dynamic method doesn't have parameters in the New<T> version, you can't use Ldarg_0. Also, Newobj will expect zero arguments, so your stack is unbalanced.
Anton Tykhyy
2010-04-07 18:41:42