У меня возникла новая проблема. Мой код:Ошибка «AccessViolationException была необработанной» в управляемом коде C#
.method public static void Main() cil managed
{
.entrypoint
// Code size 3 (0x3)
.maxstack 1
IL_0000: ldnull
IL_0001: stloc.0
IL_0002: ret
} // end of method Program::Main
C# код:
il.Emit(OpCodes.Ldnull);
il.Emit(OpCodes.Stloc_0);
il.Emit(OpCodes.Ret);
Я генерировать этот код через System.Reflection и System.Reflection.Emit классов. Кто-нибудь знает, почему это невозможно? Пожалуйста помоги.
Один маленький вопрос - я должен генерировать конструктор?
Просто используйте il.DeclareLocal (...); –
Protip: при написании IL, всегда используйте PEVerify после сборки. Он сразу сказал бы вам эту ошибку. – leppie
Спасибо. Я постараюсь это сделать. – user35443