private static StaticActionExecutor WrapAsStaticAction(InstanceActionExecutor action, object target) { return(delegate(object[] parameters) { action(target, parameters); }); }
private static StaticActionExecutor WrapAsStaticAction(InstanceActionExecutor action) { return(delegate(object[] parameters) { if (parameters.Length < 1) { throw new InvalidOperationException("Cannot execute wrapped instance method without a singe parameter (the first parameter should be the instance)."); } var _p = new object[parameters.Length - 1]; for (int i = 1; i < parameters.Length; i++) { _p[i - 1] = parameters[i]; } action(parameters[0], _p); }); }