Convert
कक्षा .NET 1.0 के बाद से अस्तित्व में है। इस समय से IConvertible
इंटरफ़ेस भी मौजूद है।कनवर्ट क्यों करता है। चेंजटाइप ऑब्जेक्ट पैरामीटर लेता है?
Convert.ChangeType
विधि प्रकार है कि IConvertible
लागू (वास्तव में, जब तक कि मैं गलत कर रहा हूँ, सभी Convert
वर्ग द्वारा प्रदान की रूपांतरण तरीकों में से इस तरह से कर रहे हैं) की वस्तुओं पर केवल काम करता है। तो पैरामीटर प्रकार object
क्यों है?
दूसरे शब्दों में, बजाय इस की:
public object ChangeType(object value, Type conversionType);
क्यों हस्ताक्षर यह नहीं है?
public object ChangeType(IConvertible value, Type conversionType);
बस मुझे अजीब लगता है।
मुझे लगता है कि यह केवल संभावित व्याख्या होने लगते करता है ... यह आप के लिए अजीब लग रहे हैं नहीं है, हालांकि, कि डिजाइनरों व्यवहार पर विचार किया होगा "एक वस्तु ले सकते हैं और इसे एक ही प्रकार में परिवर्तित कर सकते हैं" समर्थन के लायक भी? मेरा मतलब है, इसका कभी भी क्या उपयोग किया जाएगा? –
@Dan - मुझे लगता है कि ऑब्जेक्ट डेटासेटर्स आंतरिक रूप से आईआईआरसी का उपयोग करता है, मुझे लगता है कि उन्होंने एक के बजाय चेक को प्राथमिकता दी है? मैं मानता हूं कि यह बहुत उपयोगी प्रतीत नहीं होता है। –