/// <summary> /// Initialize new instance of JMethodInfo using the provided information. /// </summary> /// <param name="methodInfo"><see cref="System.Reflection.MethodInfo"/> object to refer</param> /// <param name="parametersValue">parameters value</param> public JMethodInfo(MethodInfo methodInfo, IReadOnlyList <object> parametersValue) { Name = methodInfo.Name; DeclaringType = new JTypeInfo(methodInfo.DeclaringType); ParameterInfo[] parameters = methodInfo.GetParameters(); if (parameters.Length != parametersValue.Count) { throw new InvalidOperationException("Amount of parameters value should be equal to the amount of the parameters as declared in method info object"); } Parameters = new JParameterInfo[parameters.Length]; for (int i = 0; i < Parameters.Length; ++i) { Parameters[i] = new JParameterInfo(parameters[i].Name, new JTypeInfo(parameters[i].ParameterType), parametersValue[i]); } }
/// <summary> /// Initialize an empty JResponse object. /// </summary> public JResponse(JParameterInfo jParameterInfo, ResponseType responseType) { ReturnValue = jParameterInfo; ResponseType = responseType; }