示例#1
0
        public HttpServiceRequest(MethodInfo targetMethod, object[] arguments)
        {
            if (targetMethod == null)
            {
                throw new ArgumentNullException(nameof(targetMethod));
            }

            if (arguments == null)
            {
                throw new ArgumentNullException(nameof(arguments));
            }

            var parameters = targetMethod.GetParameters();

            if (arguments.Length < parameters.Count(a => a.IsOptional == false))
            {
                throw new ArgumentException("An incorrect number of arguments was supplied for the specified target method.", nameof(arguments));
            }

            Target    = new InvocationTarget(targetMethod);
            Arguments = new OrderedDictionary(arguments.Length);

            for (int i = 0; i < arguments.Length; i++)
            {
                Arguments.Add(parameters[i].Name, arguments[i]);
            }
        }
示例#2
0
        public HttpServiceRequest(string targetMethod, Dictionary <string, object> arguments)
        {
            if (targetMethod == null)
            {
                throw new ArgumentNullException(nameof(targetMethod));
            }

            if (arguments == null)
            {
                throw new ArgumentNullException(nameof(arguments));
            }


            Target    = new InvocationTarget(targetMethod);
            Arguments = new OrderedDictionary();

            foreach (var argument in arguments)
            {
                Arguments.Add(argument.Key, argument.Value);
            }
        }