March 2002
Intermediate to advanced
864 pages
31h 8m
English
OpCode
This structure describes a single MSIL instruction. It is used by the ILGenerator.Emit() method.
Alternatively, use a field from the OpCodes class to supply a specific
instruction without needing to create an OpCode object. Instructions are
characterized by several pieces of information,
represented as properties, such as OpCode, Operand, and flow control.
public struct OpCode { // Public Instance Properties public field FlowControl FlowControl{get; } public field string Name{get; } public field OpCodeType OpCodeType{get; } public field OperandType OperandType{get; } public field int Size{get; } public field StackBehaviour StackBehaviourPop{get; } public field StackBehaviour StackBehaviourPush{get; } public field short Value{get; } // Public Instance Methods public override method bool Equals(object obj); // overrides ValueType public override method int GetHashCode(); // overrides ValueType public override method string ToString(); // overrides ValueType }
System.Object→System.ValueType→OpCode
ILGenerator.{Emit(), EmitCall(), EmitCalli()}, OpCodes.TakesSingleByteArgument()