本文介绍了关于Opcodes.Ldarg加载ref变量而不是out的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于以下代码:

 ILGenerator ilGenForModify = outModifier.GetILGenerator(); 
ilGenForModify.Emit(OpCodes.Ldarga, 1 );



它加载了正确的参数。

但它已将其加载为ref。

如何让它出局?





IL代码不会显示任何特殊内容,因为参数列表将变量保存为输出变量。

这是IL代码。

IL_0001:ldarga.0



在C#中它是,

base.genModifyMethod(ref obj);





我想要它(出参考)。



我如何实现这一目标?







谢谢。

解决方案



For the following code:

ILGenerator ilGenForModify = outModifier.GetILGenerator();
ilGenForModify.Emit(OpCodes.Ldarga,1);


it has loaded the correct argument.
But it has loaded it as "ref".
How do I get it to be "out"?


The IL code doesn''t show anything special because the parameter list has the variable saved as an out variable.
This is the IL code.
IL_0001: ldarga.0

In C# it is,
base.genModifyMethod(ref obj);


I want it to be (out ref).

How do i achieve that?



Thank You.

解决方案



这篇关于关于Opcodes.Ldarg加载ref变量而不是out的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-01 05:55