IL Callvirt等价?

时间:2012-03-26 06:15:26

标签: c# il

il.EmitCall(OpCodes.Callvirt, getter, null);

与:

相同

il.Emit(OpCodes.Callvirt,getter);

我不确定如何检查动态生成的IL,所以......这是第二个相关问题。

1 个答案:

答案 0 :(得分:5)

Emit(OpCode, MethodInfo)的来源以(验证后)

开头
if (opcode.Equals(OpCodes.Call) || opcode.Equals(OpCodes.Callvirt) || opcode.Equals(OpCodes.Newobj)) 
{
    EmitCall(opcode, meth, null); 
}