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 FlowControl FlowControl {get; } public string Name {get; } public OpCodeType OpCodeType {get; } public OperandType OperandType {get; } public int Size {get; } public StackBehaviour StackBehaviourPop {get; } public StackBehaviour StackBehaviourPush {get; } public short Value {get; } // Public Instance Methods public override bool Equals (object obj ); // overrides ValueType public override int GetHashCode ( ); // overrides ValueType public override string ToString ( ); // overrides ValueType } HierarchySystem.Object System.ValueType OpCode Passed ToILGenerator.{Emit( ) , EmitCall( ) , EmitCalli( )} , OpCodes.TakesSingleByteArgument( ) |