是 il.EmitCall(OpCodes.Callvirt, getter, null);
等同于:
到 il.Emit(OpCodes.Callvirt,getter);
我不确定如何检查动态生成的 IL,所以...这是第二个相关问题。
最佳答案
是的。Emit(OpCode, MethodInfo)
的来源以(验证后)开头
if (opcode.Equals(OpCodes.Call) || opcode.Equals(OpCodes.Callvirt) || opcode.Equals(OpCodes.Newobj))
{
EmitCall(opcode, meth, null);
}
关于c# - IL Callvirt 等效吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9867438/