private static object[] GetInputs(HttpListenerRequest req, MethodInfo mi) { var res = new List <object>(); if (req.HttpMethod == "GET") { var query = HttpUtility.ParseQueryString(req.Url.Query); foreach (var pa in mi.GetParameters()) { var value = query[pa.Name]; var tc = TypeDescriptor.GetConverter(pa.ParameterType); var convertet = tc.ConvertFromString(value); if (value != null) { res.Add(convertet); } } } else if (req.HttpMethod == "POST") { var parser = req.AsForm(); foreach (var pa in mi.GetParameters()) { var value = parser.GetParameterValue(pa.Name); var tc = TypeDescriptor.GetConverter(pa.ParameterType); var convertet = tc.ConvertFromString(value); if (value != null) { res.Add(convertet); } } } return(res.ToArray()); }