private static void LoadArgsTo(this MethodDefinition that, DynamicMethodInfo info) { if (!that.IsStatic) { info.WithParameter <int>("$this"); } foreach (var arg in that.Parameters) { info.WithParameter(Type.GetType(arg.ParameterType.FullName), arg.Name); } }
private static void MultiplyMethodDefinition(DynamicMethodInfo m) { m.WithParameter(typeof(int), "a") .WithParameter(typeof(int), "b") .Returns(typeof(int)) .Ldarg("a") .Ldarg("b") .Mul() .Ret(); }
public static DynamicMethodBody NewMethod (Type returnType, params Type[] parameterTypes) { var result = new DynamicMethodInfo(); foreach (Type param in parameterTypes) { result.WithParameter(param); } result.Returns(returnType); return(result.Body); }
private static void LoadArgsTo(this MethodDefinition that, DynamicMethodInfo info) { if (!that.IsStatic) info.WithParameter<int>("$this"); foreach (var arg in that.Parameters) { info.WithParameter(Type.GetType(arg.ParameterType.FullName), arg.Name); } }