/// <summary> /// Use for non-nullable values. If the value is null, exception is thrown. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="paramName"></param> /// <returns></returns> private static T GetNonNullableParamValue <T>(QueryStringParamNames paramName) { if (HttpContext.Current.Request.QueryString[paramName.Description()] != null) { return((T)Convert.ChangeType(HttpContext.Current.Request.QueryString[paramName.Description()], typeof(T))); } else { throw new ShiptalkCommon.ShiptalkException("Attempt to access value in QueryString when not present. Param: " + paramName.Description(), false); } }
/// <summary> /// Use for non-Value types such as strings. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="paramName"></param> /// <returns></returns> private static T GetNullableReferenceTypeValue <T>(QueryStringParamNames paramName) where T : class, IConvertible { if (HttpContext.Current.Request.QueryString[paramName.Description()] != null) { //return (T)HttpContext.Current.Request.QueryString[paramName.Description()]; return((T)Convert.ChangeType(HttpContext.Current.Request.QueryString[paramName.Description()], typeof(T))); } else { return(null); } }