Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static Func<int, int, int, int> CreateCalculateMethod()
- {
- DynamicMethod calculateDynamicMethod = new DynamicMethod("Calculate", IntegerType, new[] { IntegerType, IntegerType, IntegerType });
- ILGenerator iLGenerator = calculateDynamicMethod.GetILGenerator();
- iLGenerator.DeclareLocal(IntegerType);
- iLGenerator.Emit(OpCodes.Ldarg_0);
- iLGenerator.Emit(OpCodes.Ldarg_1);
- iLGenerator.Emit(OpCodes.Mul);
- iLGenerator.Emit(OpCodes.Stloc_0);
- iLGenerator.Emit(OpCodes.Ldloc_0);
- iLGenerator.Emit(OpCodes.Ldarg_2);
- iLGenerator.Emit(OpCodes.Sub);
- iLGenerator.Emit(OpCodes.Ret);
- return (Func<int, int, int, int>)calculateDynamicMethod.CreateDelegate(typeof(Func<int, int, int, int>));
- }
- public static int Calculate(int a, int b, int c)
- {
- int result = a * b;
- return result - c;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement