मैं इस तरह एक विधि लिखने के लिए कोशिश कर रहा हूँ:मुझे टाइपोफ (टी) पता है लेकिन संकलक नहीं करता है। कैसे ठीक करना है?
public static T Test<T>()
{
if (typeof(T)==typeof(string))
return "1241";
// do something else
}
लेकिन मैं यह पता लगाने की कैसे इसे हटा नहीं कर पा रहे। मैं उस प्रकार के टी के आधार पर मान वापस करना चाहता हूं जिस पर विधि लागू की गई थी। मुझे स्ट्रिंग्स, इंट्स, कस्टम क्लासेस, लिस्ट इत्यादि लौटने की ज़रूरत है।
वास्तविक उपयोगकेस कुछ कस्टम सीरियलाइजेशन कोड है जहां यह आवश्यक है कि deserializing कोड उस ऑब्जेक्ट के प्रकार को जानता है जो इसे उत्पन्न करना चाहिए।
स्पष्टीकरण: उपरोक्त उदाहरण निम्न त्रुटि देता है: टाइप करने के लिए टी
आदर्श समाधान मूल्य प्रकार और संदर्भ प्रकार पर काम करेगा स्ट्रिंग कनवर्ट नहीं कर सकता, और अधिभार समाधान के लिए एक डमी पैरामीटर शामिल नहीं होगा।
मुझे संदेह है कि यह आदर्श समाधान मौजूद है या नहीं।
धन्यवाद, लुकास
typeof (टी) काम करना चाहिए यह परीक्षण नहीं किया गया है। संकलक समस्या कौन सा त्रुटि संदेश करता है? –