private static T ExtractValue <T>(this IQueryCollection queryCollection, params string[] names) { T result = default; foreach (var name in names) { result = queryCollection.ExtractValue <T>(name); if (result != null) { return(result); } } return(result); }