C # in a Nutshell, Second Edition

OpCodes

System.Reflection.Emit (mscorlib.dll) class

This class provides the set of MSIL instructions through static fields. Each field returns the OpCode object that represents the corresponding instruction, and can be used in the ILGenerator.Emit( ) method. For a detailed description of these opcodes, see Partition III, CIL of the ECMA CLI specification (http://msdn.microsoft.com/net/ecma/).

public class OpCodes { // Public Static Fields public static readonly OpCode Add ; // =add public static readonly OpCode Add_Ovf ; // =add.ovf public static readonly OpCode Add_Ovf_Un ; // =add.ovf.un public static readonly OpCode And ; // =and public static readonly OpCode Arglist ; // =arglist public static readonly OpCode Beq ; // =beq public static readonly OpCode Beq_S ; // =beq.s public static readonly OpCode Bge ; // =bge public static readonly OpCode Bge_S ; // =bge.s public static readonly OpCode Bge_Un ; // =bge.un public static readonly OpCode Bge_Un_S ; // =bge.un.s public static readonly OpCode Bgt ; // =bgt public static readonly OpCode Bgt_S ; // =bgt.s public static readonly OpCode Bgt_Un ; // =bgt.un public static readonly OpCode Bgt_Un_S ; // =bgt.un.s public static readonly OpCode Ble ; // =ble public static readonly OpCode Ble_S ; // =ble.s public static readonly OpCode Ble_Un ; // =ble.un public static readonly OpCode Ble_Un_S ; // =ble.un.s public static readonly OpCode Blt ; // =blt public static readonly OpCode Blt_S ; // =blt.s public static readonly OpCode Blt_Un ; // =blt.un public static readonly OpCode Blt_Un_S ; // =blt.un.s public static readonly OpCode Bne_Un ; // =bne.un public static readonly OpCode Bne_Un_S ; // =bne.un.s public static readonly OpCode Box ; // =box public static readonly OpCode Br ; // =br public static readonly OpCode Br_S ; // =br.s public static readonly OpCode Break ; // =break public static readonly OpCode Brfalse ; // =brfalse public static readonly OpCode Brfalse_S ; // =brfalse.s public static readonly OpCode Brtrue ; // =brtrue public static readonly OpCode Brtrue_S ; // =brtrue.s public static readonly OpCode Call ; // =call public static readonly OpCode Calli ; // =calli public static readonly OpCode Callvirt ; // =callvirt public static readonly OpCode Castclass ; // =castclass public static readonly OpCode Ceq ; // =ceq public static readonly OpCode Cgt ; // =cgt public static readonly OpCode Cgt_Un ; // =cgt.un public static readonly OpCode Ckfinite ; // =ckfinite public static readonly OpCode Clt ; // =clt public static readonly OpCode Clt_Un ; // =clt.un public static readonly OpCode Conv_I ; // =conv.i public static readonly OpCode Conv_I1 ; // =conv.i1 public static readonly OpCode Conv_I2 ; // =conv.i2 public static readonly OpCode Conv_I4 ; // =conv.i4 public static readonly OpCode Conv_I8 ; // =conv.i8 public static readonly OpCode Conv_Ovf_I ; // =conv.ovf.i public static readonly OpCode Conv_Ovf_I_Un ; // =conv.ovf.i.un public static readonly OpCode Conv_Ovf_I1 ; // =conv.ovf.i1 public static readonly OpCode Conv_Ovf_I1_Un ; // =conv.ovf.i1.un public static readonly OpCode Conv_Ovf_I2 ; // =conv.ovf.i2 public static readonly OpCode Conv_Ovf_I2_Un ; // =conv.ovf.i2.un public static readonly OpCode Conv_Ovf_I4 ; // =conv.ovf.i4 public static readonly OpCode Conv_Ovf_I4_Un ; // =conv.ovf.i4.un public static readonly OpCode Conv_Ovf_I8 ; // =conv.ovf.i8 public static readonly OpCode Conv_Ovf_I8_Un ; // =conv.ovf.i8.un public static readonly OpCode Conv_Ovf_U ; // =conv.ovf.u public static readonly OpCode Conv_Ovf_U_Un ; // =conv.ovf.u.un public static readonly OpCode Conv_Ovf_U1 ; // =conv.ovf.u1 public static readonly OpCode Conv_Ovf_U1_Un ; // =conv.ovf.u1.un public static readonly OpCode Conv_Ovf_U2 ; // =conv.ovf.u2 public static readonly OpCode Conv_Ovf_U2_Un ; // =conv.ovf.u2.un public static readonly OpCode Conv_Ovf_U4 ; // =conv.ovf.u4 public static readonly OpCode Conv_Ovf_U4_Un ; // =conv.ovf.u4.un public static readonly OpCode Conv_Ovf_U8 ; // =conv.ovf.u8 public static readonly OpCode Conv_Ovf_U8_Un ; // =conv.ovf.u8.un public static readonly OpCode Conv_R_Un ; // =conv.r.un public static readonly OpCode Conv_R4 ; // =conv.r4 public static readonly OpCode Conv_R8 ; // =conv.r8 public static readonly OpCode Conv_U ; // =conv.u public static readonly OpCode Conv_U1 ; // =conv.u1 public static readonly OpCode Conv_U2 ; // =conv.u2 public static readonly OpCode Conv_U4 ; // =conv.u4 public static readonly OpCode Conv_U8 ; // =conv.u8 public static readonly OpCode Cpblk ; // =cpblk public static readonly OpCode Cpobj ; // =cpobj public static readonly OpCode Div ; // =div public static readonly OpCode Div_Un ; // =div.un public static readonly OpCode Dup ; // =dup public static readonly OpCode Endfilter ; // =endfilter public static readonly OpCode Endfinally ; // =endfinally public static readonly OpCode Initblk ; // =initblk public static readonly OpCode Initobj ; // =initobj public static readonly OpCode Isinst ; // =isinst public static readonly OpCode Jmp ; // =jmp public static readonly OpCode Ldarg ; // =ldarg public static readonly OpCode Ldarg_0 ; // =ldarg.0 public static readonly OpCode Ldarg_1 ; // =ldarg.1 public static readonly OpCode Ldarg_2 ; // =ldarg.2 public static readonly OpCode Ldarg_3 ; // =ldarg.3 public static readonly OpCode Ldarg_S ; // =ldarg.s public static readonly OpCode Ldarga ; // =ldarga public static readonly OpCode Ldarga_S ; // =ldarga.s public static readonly OpCode Ldc_I4 ; // =ldc.i4 public static readonly OpCode Ldc_I4_0 ; // =ldc.i4.0 public static readonly OpCode Ldc_I4_1 ; // =ldc.i4.1 public static readonly OpCode Ldc_I4_2 ; // =ldc.i4.2 public static readonly OpCode Ldc_I4_3 ; // =ldc.i4.3 public static readonly OpCode Ldc_I4_4 ; // =ldc.i4.4 public static readonly OpCode Ldc_I4_5 ; // =ldc.i4.5 public static readonly OpCode Ldc_I4_6 ; // =ldc.i4.6 public static readonly OpCode Ldc_I4_7 ; // =ldc.i4.7 public static readonly OpCode Ldc_I4_8 ; // =ldc.i4.8 public static readonly OpCode Ldc_I4_M1 ; // =ldc.i4.m1 public static readonly OpCode Ldc_I4_S ; // =ldc.i4.s public static readonly OpCode Ldc_I8 ; // =ldc.i8 public static readonly OpCode Ldc_R4 ; // =ldc.r4 public static readonly OpCode Ldc_R8 ; // =ldc.r8 public static readonly OpCode Ldelem_I ; // =ldelem.i public static readonly OpCode Ldelem_I1 ; // =ldelem.i1 public static readonly OpCode Ldelem_I2 ; // =ldelem.i2 public static readonly OpCode Ldelem_I4 ; // =ldelem.i4 public static readonly OpCode Ldelem_I8 ; // =ldelem.i8 public static readonly OpCode Ldelem_R4 ; // =ldelem.r4 public static readonly OpCode Ldelem_R8 ; // =ldelem.r8 public static readonly OpCode Ldelem_Ref ; // =ldelem.ref public static readonly OpCode Ldelem_U1 ; // =ldelem.u1 public static readonly OpCode Ldelem_U2 ; // =ldelem.u2 public static readonly OpCode Ldelem_U4 ; // =ldelem.u4 public static readonly OpCode Ldelema ; // =ldelema public static readonly OpCode Ldfld ; // =ldfld public static readonly OpCode Ldflda ; // =ldflda public static readonly OpCode Ldftn ; // =ldftn public static readonly OpCode Ldind_I ; // =ldind.i public static readonly OpCode Ldind_I1 ; // =ldind.i1 public static readonly OpCode Ldind_I2 ; // =ldind.i2 public static readonly OpCode Ldind_I4 ; // =ldind.i4 public static readonly OpCode Ldind_I8 ; // =ldind.i8 public static readonly OpCode Ldind_R4 ; // =ldind.r4 public static readonly OpCode Ldind_R8 ; // =ldind.r8 public static readonly OpCode Ldind_Ref ; // =ldind.ref public static readonly OpCode Ldind_U1 ; // =ldind.u1 public static readonly OpCode Ldind_U2 ; // =ldind.u2 public static readonly OpCode Ldind_U4 ; // =ldind.u4 public static readonly OpCode Ldlen ; // =ldlen public static readonly OpCode Ldloc ; // =ldloc public static readonly OpCode Ldloc_0 ; // =ldloc.0 public static readonly OpCode Ldloc_1 ; // =ldloc.1 public static readonly OpCode Ldloc_2 ; // =ldloc.2 public static readonly OpCode Ldloc_3 ; // =ldloc.3 public static readonly OpCode Ldloc_S ; // =ldloc.s public static readonly OpCode Ldloca ; // =ldloca public static readonly OpCode Ldloca_S ; // =ldloca.s public static readonly OpCode Ldnull ; // =ldnull public static readonly OpCode Ldobj ; // =ldobj public static readonly OpCode Ldsfld ; // =ldsfld public static readonly OpCode Ldsflda ; // =ldsflda public static readonly OpCode Ldstr ; // =ldstr public static readonly OpCode Ldtoken ; // =ldtoken public static readonly OpCode Ldvirtftn ; // =ldvirtftn public static readonly OpCode Leave ; // =leave public static readonly OpCode Leave_S ; // =leave.s public static readonly OpCode Localloc ; // =localloc public static readonly OpCode Mkrefany ; // =mkrefany public static readonly OpCode Mul ; // =mul public static readonly OpCode Mul_Ovf ; // =mul.ovf public static readonly OpCode Mul_Ovf_Un ; // =mul.ovf.un public static readonly OpCode Neg ; // =neg public static readonly OpCode Newarr ; // =newarr public static readonly OpCode Newobj ; // =newobj public static readonly OpCode Nop ; // =nop public static readonly OpCode Not ; // =not public static readonly OpCode Or ; // =or public static readonly OpCode Pop ; // =pop public static readonly OpCode Prefix1 ; // =prefix1 public static readonly OpCode Prefix2 ; // =prefix2 public static readonly OpCode Prefix3 ; // =prefix3 public static readonly OpCode Prefix4 ; // =prefix4 public static readonly OpCode Prefix5 ; // =prefix5 public static readonly OpCode Prefix6 ; // =prefix6 public static readonly OpCode Prefix7 ; // =prefix7 public static readonly OpCode Prefixref ; // =prefixref public static readonly OpCode Refanytype ; // =refanytype public static readonly OpCode Refanyval ; // =refanyval public static readonly OpCode Rem ; // =rem public static readonly OpCode Rem_Un ; // =rem.un public static readonly OpCode Ret ; // =ret public static readonly OpCode Rethrow ; // =rethrow public static readonly OpCode Shl ; // =shl public static readonly OpCode Shr ; // =shr public static readonly OpCode Shr_Un ; // =shr.un public static readonly OpCode Sizeof ; // =sizeof public static readonly OpCode Starg ; // =starg public static readonly OpCode Starg_S ; // =starg.s public static readonly OpCode Stelem_I ; // =stelem.i public static readonly OpCode Stelem_I1 ; // =stelem.i1 public static readonly OpCode Stelem_I2 ; // =stelem.i2 public static readonly OpCode Stelem_I4 ; // =stelem.i4 public static readonly OpCode Stelem_I8 ; // =stelem.i8 public static readonly OpCode Stelem_R4 ; // =stelem.r4 public static readonly OpCode Stelem_R8 ; // =stelem.r8 public static readonly OpCode Stelem_Ref ; // =stelem.ref public static readonly OpCode Stfld ; // =stfld public static readonly OpCode Stind_I ; // =stind.i public static readonly OpCode Stind_I1 ; // =stind.i1 public static readonly OpCode Stind_I2 ; // =stind.i2 public static readonly OpCode Stind_I4 ; // =stind.i4 public static readonly OpCode Stind_I8 ; // =stind.i8 public static readonly OpCode Stind_R4 ; // =stind.r4 public static readonly OpCode Stind_R8 ; // =stind.r8 public static readonly OpCode Stind_Ref ; // =stind.ref public static readonly OpCode Stloc ; // =stloc public static readonly OpCode Stloc_0 ; // =stloc.0 public static readonly OpCode Stloc_1 ; // =stloc.1 public static readonly OpCode Stloc_2 ; // =stloc.2 public static readonly OpCode Stloc_3 ; // =stloc.3 public static readonly OpCode Stloc_S ; // =stloc.s public static readonly OpCode Stobj ; // =stobj public static readonly OpCode Stsfld ; // =stsfld public static readonly OpCode Sub ; // =sub public static readonly OpCode Sub_Ovf ; // =sub.ovf public static readonly OpCode Sub_Ovf_Un ; // =sub.ovf.un public static readonly OpCode Switch ; // =switch public static readonly OpCode Tailcall ; // =tail. public static readonly OpCode Throw ; // =throw public static readonly OpCode Unaligned ; // =unaligned. public static readonly OpCode Unbox ; // =unbox public static readonly OpCode Volatile ; // =volatile. public static readonly OpCode Xor ; // =xor // Public Static Methods public static bool TakesSingleByteArgument (OpCode inst ); }

Категории