当前位置: 首页>>代码示例>>C#>>正文


C# MethodBody.GetParameter方法代码示例

本文整理汇总了C#中Mono.Cecil.Cil.MethodBody.GetParameter方法的典型用法代码示例。如果您正苦于以下问题:C# MethodBody.GetParameter方法的具体用法?C# MethodBody.GetParameter怎么用?C# MethodBody.GetParameter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Mono.Cecil.Cil.MethodBody的用法示例。


在下文中一共展示了MethodBody.GetParameter方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ExpandMacro

        public static void ExpandMacro(ref OpCode opCode, ref object operand, MethodBody methodBody)
        {
            if (opCode.OpCodeType != OpCodeType.Macro)
                return;

            switch (opCode.Code) {
                case Code.Ldarg_0: 		opCode = OpCodes.Ldarg; operand = methodBody.GetParameter(0); break;
                case Code.Ldarg_1: 		opCode = OpCodes.Ldarg; operand = methodBody.GetParameter(1); break;
                case Code.Ldarg_2: 		opCode = OpCodes.Ldarg; operand = methodBody.GetParameter(2); break;
                case Code.Ldarg_3: 		opCode = OpCodes.Ldarg; operand = methodBody.GetParameter(3); break;
                case Code.Ldloc_0: 		opCode = OpCodes.Ldloc; operand = methodBody.Variables[0]; break;
                case Code.Ldloc_1: 		opCode = OpCodes.Ldloc; operand = methodBody.Variables[1]; break;
                case Code.Ldloc_2: 		opCode = OpCodes.Ldloc; operand = methodBody.Variables[2]; break;
                case Code.Ldloc_3: 		opCode = OpCodes.Ldloc; operand = methodBody.Variables[3]; break;
                case Code.Stloc_0: 		opCode = OpCodes.Stloc; operand = methodBody.Variables[0]; break;
                case Code.Stloc_1: 		opCode = OpCodes.Stloc; operand = methodBody.Variables[1]; break;
                case Code.Stloc_2: 		opCode = OpCodes.Stloc; operand = methodBody.Variables[2]; break;
                case Code.Stloc_3: 		opCode = OpCodes.Stloc; operand = methodBody.Variables[3]; break;
                case Code.Ldarg_S: 		opCode = OpCodes.Ldarg; break;
                case Code.Ldarga_S: 		opCode = OpCodes.Ldarga; break;
                case Code.Starg_S: 		opCode = OpCodes.Starg; break;
                case Code.Ldloc_S: 		opCode = OpCodes.Ldloc; break;
                case Code.Ldloca_S: 		opCode = OpCodes.Ldloca; break;
                case Code.Stloc_S: 		opCode = OpCodes.Stloc; break;
                case Code.Ldc_I4_M1: 	opCode = OpCodes.Ldc_I4; operand = -1; break;
                case Code.Ldc_I4_0: 		opCode = OpCodes.Ldc_I4; operand = 0; break;
                case Code.Ldc_I4_1: 		opCode = OpCodes.Ldc_I4; operand = 1; break;
                case Code.Ldc_I4_2: 		opCode = OpCodes.Ldc_I4; operand = 2; break;
                case Code.Ldc_I4_3: 		opCode = OpCodes.Ldc_I4; operand = 3; break;
                case Code.Ldc_I4_4: 		opCode = OpCodes.Ldc_I4; operand = 4; break;
                case Code.Ldc_I4_5: 		opCode = OpCodes.Ldc_I4; operand = 5; break;
                case Code.Ldc_I4_6: 		opCode = OpCodes.Ldc_I4; operand = 6; break;
                case Code.Ldc_I4_7: 		opCode = OpCodes.Ldc_I4; operand = 7; break;
                case Code.Ldc_I4_8: 		opCode = OpCodes.Ldc_I4; operand = 8; break;
                case Code.Ldc_I4_S: 		opCode = OpCodes.Ldc_I4; operand = (int) (sbyte) operand; break;
                case Code.Br_S: 			opCode = OpCodes.Br; break;
                case Code.Brfalse_S: 	opCode = OpCodes.Brfalse; break;
                case Code.Brtrue_S: 		opCode = OpCodes.Brtrue; break;
                case Code.Beq_S: 		opCode = OpCodes.Beq; break;
                case Code.Bge_S: 		opCode = OpCodes.Bge; break;
                case Code.Bgt_S: 		opCode = OpCodes.Bgt; break;
                case Code.Ble_S: 		opCode = OpCodes.Ble; break;
                case Code.Blt_S: 		opCode = OpCodes.Blt; break;
                case Code.Bne_Un_S: 		opCode = OpCodes.Bne_Un; break;
                case Code.Bge_Un_S: 		opCode = OpCodes.Bge_Un; break;
                case Code.Bgt_Un_S: 		opCode = OpCodes.Bgt_Un; break;
                case Code.Ble_Un_S: 		opCode = OpCodes.Ble_Un; break;
                case Code.Blt_Un_S:		opCode = OpCodes.Blt_Un; break;
                case Code.Leave_S:		opCode = OpCodes.Leave; break;
            }
        }
开发者ID:HEskandari,项目名称:ILSpy,代码行数:51,代码来源:MethodBodyRocks.cs

示例2: ExpandMacro

		public static void ExpandMacro(ref ILCode code, ref object operand, MethodBody methodBody)
		{
			switch (code) {
					case ILCode.__Ldarg_0:   code = ILCode.__Ldarg; operand = methodBody.GetParameter(0); break;
					case ILCode.__Ldarg_1:   code = ILCode.__Ldarg; operand = methodBody.GetParameter(1); break;
					case ILCode.__Ldarg_2:   code = ILCode.__Ldarg; operand = methodBody.GetParameter(2); break;
					case ILCode.__Ldarg_3:   code = ILCode.__Ldarg; operand = methodBody.GetParameter(3); break;
					case ILCode.__Ldloc_0:   code = ILCode.Ldloc; operand = methodBody.Variables[0]; break;
					case ILCode.__Ldloc_1:   code = ILCode.Ldloc; operand = methodBody.Variables[1]; break;
					case ILCode.__Ldloc_2:   code = ILCode.Ldloc; operand = methodBody.Variables[2]; break;
					case ILCode.__Ldloc_3:   code = ILCode.Ldloc; operand = methodBody.Variables[3]; break;
					case ILCode.__Stloc_0:   code = ILCode.Stloc; operand = methodBody.Variables[0]; break;
					case ILCode.__Stloc_1:   code = ILCode.Stloc; operand = methodBody.Variables[1]; break;
					case ILCode.__Stloc_2:   code = ILCode.Stloc; operand = methodBody.Variables[2]; break;
					case ILCode.__Stloc_3:   code = ILCode.Stloc; operand = methodBody.Variables[3]; break;
					case ILCode.__Ldarg_S:   code = ILCode.__Ldarg; break;
					case ILCode.__Ldarga_S:  code = ILCode.__Ldarga; break;
					case ILCode.__Starg_S:   code = ILCode.__Starg; break;
					case ILCode.__Ldloc_S:   code = ILCode.Ldloc; break;
					case ILCode.__Ldloca_S:  code = ILCode.Ldloca; break;
					case ILCode.__Stloc_S:   code = ILCode.Stloc; break;
					case ILCode.__Ldc_I4_M1: code = ILCode.Ldc_I4; operand = -1; break;
					case ILCode.__Ldc_I4_0:  code = ILCode.Ldc_I4; operand = 0; break;
					case ILCode.__Ldc_I4_1:  code = ILCode.Ldc_I4; operand = 1; break;
					case ILCode.__Ldc_I4_2:  code = ILCode.Ldc_I4; operand = 2; break;
					case ILCode.__Ldc_I4_3:  code = ILCode.Ldc_I4; operand = 3; break;
					case ILCode.__Ldc_I4_4:  code = ILCode.Ldc_I4; operand = 4; break;
					case ILCode.__Ldc_I4_5:  code = ILCode.Ldc_I4; operand = 5; break;
					case ILCode.__Ldc_I4_6:  code = ILCode.Ldc_I4; operand = 6; break;
					case ILCode.__Ldc_I4_7:  code = ILCode.Ldc_I4; operand = 7; break;
					case ILCode.__Ldc_I4_8:  code = ILCode.Ldc_I4; operand = 8; break;
					case ILCode.__Ldc_I4_S:  code = ILCode.Ldc_I4; operand = (int) (sbyte) operand; break;
					case ILCode.__Br_S:      code = ILCode.Br; break;
					case ILCode.__Brfalse_S: code = ILCode.__Brfalse; break;
					case ILCode.__Brtrue_S:  code = ILCode.Brtrue; break;
					case ILCode.__Beq_S:     code = ILCode.__Beq; break;
					case ILCode.__Bge_S:     code = ILCode.__Bge; break;
					case ILCode.__Bgt_S:     code = ILCode.__Bgt; break;
					case ILCode.__Ble_S:     code = ILCode.__Ble; break;
					case ILCode.__Blt_S:     code = ILCode.__Blt; break;
					case ILCode.__Bne_Un_S:  code = ILCode.__Bne_Un; break;
					case ILCode.__Bge_Un_S:  code = ILCode.__Bge_Un; break;
					case ILCode.__Bgt_Un_S:  code = ILCode.__Bgt_Un; break;
					case ILCode.__Ble_Un_S:  code = ILCode.__Ble_Un; break;
					case ILCode.__Blt_Un_S:  code = ILCode.__Blt_Un; break;
					case ILCode.__Leave_S:   code = ILCode.Leave; break;
					case ILCode.__Ldind_I:   code = ILCode.Ldobj; operand = methodBody.Method.Module.TypeSystem.IntPtr; break;
					case ILCode.__Ldind_I1:  code = ILCode.Ldobj; operand = methodBody.Method.Module.TypeSystem.SByte; break;
					case ILCode.__Ldind_I2:  code = ILCode.Ldobj; operand = methodBody.Method.Module.TypeSystem.Int16; break;
					case ILCode.__Ldind_I4:  code = ILCode.Ldobj; operand = methodBody.Method.Module.TypeSystem.Int32; break;
					case ILCode.__Ldind_I8:  code = ILCode.Ldobj; operand = methodBody.Method.Module.TypeSystem.Int64; break;
					case ILCode.__Ldind_U1:  code = ILCode.Ldobj; operand = methodBody.Method.Module.TypeSystem.Byte; break;
					case ILCode.__Ldind_U2:  code = ILCode.Ldobj; operand = methodBody.Method.Module.TypeSystem.UInt16; break;
					case ILCode.__Ldind_U4:  code = ILCode.Ldobj; operand = methodBody.Method.Module.TypeSystem.UInt32; break;
					case ILCode.__Ldind_R4:  code = ILCode.Ldobj; operand = methodBody.Method.Module.TypeSystem.Single; break;
					case ILCode.__Ldind_R8:  code = ILCode.Ldobj; operand = methodBody.Method.Module.TypeSystem.Double; break;
					case ILCode.__Stind_I:   code = ILCode.Stobj; operand = methodBody.Method.Module.TypeSystem.IntPtr; break;
					case ILCode.__Stind_I1:  code = ILCode.Stobj; operand = methodBody.Method.Module.TypeSystem.Byte; break;
					case ILCode.__Stind_I2:  code = ILCode.Stobj; operand = methodBody.Method.Module.TypeSystem.Int16; break;
					case ILCode.__Stind_I4:  code = ILCode.Stobj; operand = methodBody.Method.Module.TypeSystem.Int32; break;
					case ILCode.__Stind_I8:  code = ILCode.Stobj; operand = methodBody.Method.Module.TypeSystem.Int64; break;
					case ILCode.__Stind_R4:  code = ILCode.Stobj; operand = methodBody.Method.Module.TypeSystem.Single; break;
					case ILCode.__Stind_R8:  code = ILCode.Stobj; operand = methodBody.Method.Module.TypeSystem.Double; break;
			}
		}
开发者ID:JustasB,项目名称:cudafy,代码行数:65,代码来源:ILCodes.cs

示例3: ExpandMacro

		public static void ExpandMacro(ref ILCode code, ref object operand, MethodBody methodBody)
		{
			switch (code) {
					case ILCode.__Ldarg_0: 		code = ILCode.Ldarg; operand = methodBody.GetParameter(0); break;
					case ILCode.__Ldarg_1: 		code = ILCode.Ldarg; operand = methodBody.GetParameter(1); break;
					case ILCode.__Ldarg_2: 		code = ILCode.Ldarg; operand = methodBody.GetParameter(2); break;
					case ILCode.__Ldarg_3: 		code = ILCode.Ldarg; operand = methodBody.GetParameter(3); break;
					case ILCode.__Ldloc_0: 		code = ILCode.Ldloc; operand = methodBody.Variables[0]; break;
					case ILCode.__Ldloc_1: 		code = ILCode.Ldloc; operand = methodBody.Variables[1]; break;
					case ILCode.__Ldloc_2: 		code = ILCode.Ldloc; operand = methodBody.Variables[2]; break;
					case ILCode.__Ldloc_3: 		code = ILCode.Ldloc; operand = methodBody.Variables[3]; break;
					case ILCode.__Stloc_0: 		code = ILCode.Stloc; operand = methodBody.Variables[0]; break;
					case ILCode.__Stloc_1: 		code = ILCode.Stloc; operand = methodBody.Variables[1]; break;
					case ILCode.__Stloc_2: 		code = ILCode.Stloc; operand = methodBody.Variables[2]; break;
					case ILCode.__Stloc_3: 		code = ILCode.Stloc; operand = methodBody.Variables[3]; break;
					case ILCode.__Ldarg_S: 		code = ILCode.Ldarg; break;
					case ILCode.__Ldarga_S: 		code = ILCode.Ldarga; break;
					case ILCode.__Starg_S: 		code = ILCode.Starg; break;
					case ILCode.__Ldloc_S: 		code = ILCode.Ldloc; break;
					case ILCode.__Ldloca_S: 		code = ILCode.Ldloca; break;
					case ILCode.__Stloc_S: 		code = ILCode.Stloc; break;
					case ILCode.__Ldc_I4_M1: 	code = ILCode.Ldc_I4; operand = -1; break;
					case ILCode.__Ldc_I4_0: 		code = ILCode.Ldc_I4; operand = 0; break;
					case ILCode.__Ldc_I4_1: 		code = ILCode.Ldc_I4; operand = 1; break;
					case ILCode.__Ldc_I4_2: 		code = ILCode.Ldc_I4; operand = 2; break;
					case ILCode.__Ldc_I4_3: 		code = ILCode.Ldc_I4; operand = 3; break;
					case ILCode.__Ldc_I4_4: 		code = ILCode.Ldc_I4; operand = 4; break;
					case ILCode.__Ldc_I4_5: 		code = ILCode.Ldc_I4; operand = 5; break;
					case ILCode.__Ldc_I4_6: 		code = ILCode.Ldc_I4; operand = 6; break;
					case ILCode.__Ldc_I4_7: 		code = ILCode.Ldc_I4; operand = 7; break;
					case ILCode.__Ldc_I4_8: 		code = ILCode.Ldc_I4; operand = 8; break;
					case ILCode.__Ldc_I4_S: 		code = ILCode.Ldc_I4; operand = (int) (sbyte) operand; break;
					case ILCode.__Br_S: 			code = ILCode.Br; break;
					case ILCode.__Brfalse_S: 	code = ILCode.__Brfalse; break;
					case ILCode.__Brtrue_S: 		code = ILCode.Brtrue; break;
					case ILCode.__Beq_S: 		code = ILCode.__Beq; break;
					case ILCode.__Bge_S: 		code = ILCode.__Bge; break;
					case ILCode.__Bgt_S: 		code = ILCode.__Bgt; break;
					case ILCode.__Ble_S: 		code = ILCode.__Ble; break;
					case ILCode.__Blt_S: 		code = ILCode.__Blt; break;
					case ILCode.__Bne_Un_S: 		code = ILCode.__Bne_Un; break;
					case ILCode.__Bge_Un_S: 		code = ILCode.__Bge_Un; break;
					case ILCode.__Bgt_Un_S: 		code = ILCode.__Bgt_Un; break;
					case ILCode.__Ble_Un_S: 		code = ILCode.__Ble_Un; break;
					case ILCode.__Blt_Un_S:		code = ILCode.__Blt_Un; break;
					case ILCode.__Leave_S:		code = ILCode.Leave; break;
			}
		}
开发者ID:hlesesne,项目名称:ILSpy,代码行数:48,代码来源:ILCodes.cs


注:本文中的Mono.Cecil.Cil.MethodBody.GetParameter方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。