public static TValue?GetNullableValueAs <TValue>(this NameValueCollection collection, string key) where TValue : struct { var resultStr = collection.GetValue(key, null); if (resultStr == null) { return(default(TValue?)); } return(ParsingUtility.Parse <TValue>(resultStr)); }