Is an il.EmitCall(OpCodes.Callvirt, getter, null);
il.EmitCall(OpCodes.Callvirt, getter, null);
is the same as:
to il.Emit(OpCodes.Callvirt,getter);
il.Emit(OpCodes.Callvirt,getter);
I'm not sure how to investigate IL that is generated on the fly, so ... this is the second related question.
Yes.
Source for Emit(OpCode, MethodInfo) starts with (after verification)
Emit(OpCode, MethodInfo)
if (opcode.Equals(OpCodes.Call) || opcode.Equals(OpCodes.Callvirt) || opcode.Equals(OpCodes.Newobj)) { EmitCall(opcode, meth, null); }