Well let's say we have this C # code:
public override void Write(XDRDestination destination) { destination.WriteInt(intValue); destination.WriteBool(boolValue); destination.WriteFixedString(str1, 100); destination.WriteVariableString(str2, 100); }
IL:
.method public hidebysig virtual instance void Write(class [XDRFramework]XDRFramework.XDRDestination destination) cil managed {
Now, to the question, I understand that ldarg. # pushes arguments to a method on the stack so we can work with them? But why does it call ldarg.1 and ldarg.0 when the method takes only one argument?
Peter
source share