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);
不起作用。它崩溃,但“操作可能会破坏运行时的稳定性”。 现在,我知道这样做的目的毫无用处,但我试图通过小步骤实现我的目标。 为什么这不起作用?
答案 0 :(得分:3)
您是否已宣布当地人? arg0和loc0的类型是否匹配?另外你知道实例方法中的arg0是这个引用,对吗?