IL emit - операция может дестабилизировать время выполнения при сохранении и загрузке - PullRequest
0 голосов
/ 25 декабря 2010

Эй, у меня есть следующий IL:

il.Emit(OpCodes.Ldarg_0);
il.Emit(OpCodes.Ret);

Который работает нормально. Это в основном возвращает данный аргумент. Это, однако:

il.Emit(OpCodes.Ldarg_0);
il.Emit(OpCodes.Stloc_0);
il.Emit(OpCodes.Ldloc_0);
il.Emit(OpCodes.Ret);

Не работает. Сбой с исключением «Операция может дестабилизировать время выполнения». Теперь я знаю, что цель этого бесполезна, но я пытаюсь достичь своей цели маленькими шагами. Почему это не работает?

1 Ответ

3 голосов
/ 25 декабря 2010

Вы объявили местным? Тип arg0 и loc0 совпадают? Также вы знаете, что arg0 в методе экземпляра является ссылкой this, верно?

...