IL Callvirt等价?

sgt*_*gtz 3 c# il

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

同样如下:

il.Emit(OpCodes.Callvirt,getter);

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

SLa*_*aks 5

是.

源头Emit(OpCode, MethodInfo)开始(验证后)

if (opcode.Equals(OpCodes.Call) || opcode.Equals(OpCodes.Callvirt) || opcode.Equals(OpCodes.Newobj)) 
{
    EmitCall(opcode, meth, null); 
} 
Run Code Online (Sandbox Code Playgroud)