मैं समान विधियों के एक समूह को एक सामान्य विधि में संयोजित करने का प्रयास कर रहा हूं। मेरे पास कई विधियाँ हैं जो एक querystring, या null का मान लौटाती हैं यदि वह querystring मौजूद नहीं है या सही प्रारूप में नहीं है। यह काफी आसान होगा यदि सभी प्रकार मूल रूप से अशक्त थे, लेकिन मुझे पूर्णांक और दिनांक के लिए अशक्त सामान्य प्रकार का उपयोग करना होगा।
यहाँ अब मेरे पास क्या है। हालाँकि, यदि कोई संख्यात्मक मान अमान्य है, और यह दुर्भाग्य से मेरे परिदृश्य में एक मान्य मान है, तो यह 0 को वापस कर देगा। क्या कोई मेरी मदद कर सकता है? धन्यवाद!
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;
}