Tôi đang cố gắng kết hợp một loạt các phương pháp tương tự thành một phương pháp chung. Tôi có một số phương thức trả về giá trị của một chuỗi truy vấn hoặc null nếu chuỗi truy vấn đó không tồn tại hoặc không có định dạng chính xác. Điều này sẽ đủ dễ dàng nếu tất cả các kiểu đều có thể null nguyên bản, nhưng tôi phải sử dụng kiểu chung có thể null cho số nguyên và ngày tháng.
Đây là những gì tôi có bây giờ. Tuy nhiên, nó sẽ trả về giá trị 0 nếu giá trị số không hợp lệ và rất tiếc đó là giá trị hợp lệ trong các trường hợp của tôi. có ai giúp tôi ra ngoài không? Cảm ơn!
public static T GetQueryString<T>(string key) where T : IConvertible
{
T result = default(T);
if (String.IsNullOrEmpty(HttpContext.Current.Request.QueryString[key]) == false)
{
string value = HttpContext.Current.Request.QueryString[key];
try
{
result = (T)Convert.ChangeType(value, typeof(T));
}
catch
{
//Could not convert. Pass back default value...
result = default(T);
}
}
return result;
}