如何在Mono.Cecil中发出对String.op_Equality的调用

时间:2012-09-19 15:52:35

标签: .net reflection il mono.cecil

我正在尝试使用Mono.Cecil将代码注入程序集。到目前为止,一切都很好,但现在我正在努力实现这一点IL:

call bool [mscorlib]System.String::op_Equality(string, string)

我如何在塞西尔这样做?我知道它就像

var il=mymethod.Body.GetIlProcessor();
...
il.Emit(Opcodes.Call, ????);

我不知道要发送什么类型的参数或如何获取对该静态函数的引用。

我该怎么做?

1 个答案:

答案 0 :(得分:5)

这样的事情:

MethodReference ope = myMainModule.Import(typeof(string).GetMethod("op_Equality"));
il.Emit(Opcodes.Call, ope);