मेरा फ़ंक्शन आवश्यक है कि आप इसे एक स्ट्रिंग और टी के रूप में टाइप करें। टी के आधार पर मैं स्ट्रिंग वैल को उस प्रकार के रूप में पार्स करना चाहता हूं, लेकिन मुझे शीर्षक से त्रुटि मिलती है यह प्रश्न। कोई भी जिसके पास इस कार्य को पूरा करने के लिए कोई अंतर्दृष्टि या अन्य तरीके हैं, मैं इसकी सराहना करता हूं।बाधा विशेष वर्ग 'सिस्टम नहीं हो सकती है। ऑब्जेक्ट'
T Parse<T>(string val) where T : System.Object
{
TypeCode code = Type.GetTypeCode(typeof(T));
switch (code)
{
case TypeCode.Boolean:
return System.Boolean.Parse(val);
break;
case TypeCode.Int32:
return Int32.Parse(val);
break;
case TypeCode.Double:
return Double.Parse(val);
break;
case TypeCode.String:
return (string)val;
break;
}
return null;
}
आप कर रहे हैं क्या जेनिक्स का दुरुपयोग कर रहा है। यदि आप एक प्रकार की जांच करने जा रहे हैं, तो जेनिक्स का उपयोग क्यों करें? – Oded
संभावित डुप्लिकेट [सी # जेनिक्स: टी को रोकना जहां टी: ऑब्जेक्ट संकलित नहीं करता है; त्रुटि: प्रतिबंध विशेष वर्ग 'ऑब्जेक्ट' नहीं हो सकता है] (http://stackoverflow.com/questions/10644703/c-sharp-generics-constraining-t-where-t-object-doesnt-compile-error-constr) – nawfal