2012-06-27 16 views
18

System.Type एक UnderlyingSystemType संपत्ति में शामिल है। MSDN states है कि यह:जब करता UnderlyingSystemType वर्तमान प्रकार उदाहरण से अलग

प्रकार आम भाषा क्रम कि इस प्रकार का प्रतिनिधित्व करता है द्वारा प्रदान की संकेत करता है।

ज्यादातर मामलों में, यह संपत्ति बस वर्तमान Type उदाहरण देता है।

मेरा सवाल यह है कि, इस परिस्थिति में वर्तमान Type उदाहरण को वापस लौटाता है। और उन मामलों में, किस प्रकार का प्रकार वर्तमान Type उदाहरण होगा और लौटा अंतर्निहित सिस्टम प्रकार होगा?

+3

आपको बता नहीं सकते वास्तव में क्यों, लेकिन यहाँ इस तथ्य के बारे में एक लेख (http: //bradwilson.typepad.com/blog/2009/02/when-is-a-type-not-a-type.html) – Jehof

+1

http://catalog.codeproject.com/Questions/366922/Whats-the-difference -बेटवीन-अंतर्निहित सिस्टम टाइप में इस पर कुछ जानकारी है। –

+4

मैं सिर्फ जॉन स्कीट की प्रतीक्षा करूंगा। उसने मुझे कभी नीचे जाने दिया नहीं। – nullpotent

उत्तर

5

ईमानदार मैं इसे कभी नहीं अपने आप से किया हो, लेकिन मुझे पता है कि यह आपके द्वारा निर्दिष्ट प्रकार की परिभाषा की तरह अपने खुद के RuntimeType बनाने के लिए संभव है।

यदि आप Type वर्ग सार है और अमूर्त सदस्य ही का एक बहुत है पर ध्यान दें। क्या होता है कि अपने प्रकार (जो कुछ भी यह है) स्वचालित रूप से RuntimeTypeType वर्ग से व्युत्पन्न बनाता है और अपने प्रकार के लिए यह लागू करता है।

तो संपत्ति UnderlyingSystemType orindary RuntimeType के मामले में Type संपत्ति बराबर मान प्रदान करेंगे ओवरराइड कार्यान्वयन के मामले में,, बजाय, (कि relfection व्यवहार को प्रभावित करने के लिए है, लेकिन मैं फिर कहता हूँ मैं व्यक्तिगत रूप से कभी नहीं इस से पहले किया था), उपयोगकर्ता वापस आ जाएगी निर्धारित प्रकार मान।

संपादित

वास्तव में टिप्पणी में लोगों द्वारा प्रदान की लिंक एक अच्छा एक है:

When is a Type not a Type?

+0

उस लेख वास्तव में मददगार था, धन्यवाद – wodzu

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^