मैं वास्तव में एक उपयोगिता वर्ग जेनेरिक्स का उपयोग करता है "रैप" करने के लिए सत्र, जो मेरे लिए "घुरघुराना काम" के सभी करता है, मैं भी कुछ QueryString मूल्यों के साथ काम करने के लिए लगभग समान है।
यह कोड (अक्सर असंख्य) चेक के लिए कोड डुप्लिक को हटाने में मदद करता है ..
उदाहरण के लिए:
public class QueryString
{
static NameValueCollection QS
{
get
{
if (HttpContext.Current == null)
throw new ApplicationException("No HttpContext!");
return HttpContext.Current.Request.QueryString;
}
}
public static int Int(string key)
{
int i;
if (!int.TryParse(QS[key], out i))
i = -1; // Obviously Change as you see fit.
return i;
}
// ... Other types omitted.
}
// And to Use..
void Test()
{
int i = QueryString.Int("test");
}
नोट:
यह स्पष्ट रूप से जो कुछ लोगों क्योंकि जिस तरह से यह परीक्षण कोड को प्रभावित कर सकता की पसंद नहीं है स्टैटिक्स के उपयोग, बनाता है .. आप आसानी से कर सकते हैं उदाहरणों और किसी भी इंटरफेस के आधार पर काम करने वाली किसी चीज में रिफैक्टर .. मुझे लगता है कि स्टेटिक्स उदाहरण सबसे हल्का है।
आशा है कि इससे विचार के लिए भोजन/मदद मिलती है।
स्रोत
2008-12-08 14:57:17
मुझे यह काम करने के लिए लाइन 15 और 17 को बदलना पड़ा: var कनवर्टर = टाइपडिस्क्रिप्टर। गेट कनवर्टर (टाइपोफ (टी)); अगर (! कनवर्टर.कैनकॉन्टरटॉ (मूल्य।GetType()) –
धन्यवाद ब्रायन –
हाय, यह बहुत अच्छा है हालांकि यह नलिकाओं के साथ काम नहीं करता है, उदाहरण के लिए int? टाइप कनवर्टर में एक बग हो सकता है? यदि आप रुचि रखते हैं तो परीक्षण का मूल्य। – bplus