2013-06-03 5 views
8

डेल्फी ऑनलाइन प्रलेखन कहते हैंमुझे आवेदन कोड में क्लासटाइप का उपयोग क्यों करना चाहिए?

"आवेदन कोड में ClassType प्रयोग करने से बचें।"

हालांकि कई जगहें हैं जहां कक्षा प्रकार की आवश्यकता है। उदाहरण के लिए जब कोई प्रोग्राम कक्षा सिस्टम का उपयोग करता है। कंटर्स। TClassList, मुझे इंडेक्सऑफ() के पैरामीटर में इसे पास करने के लिए ऑब्जेक्ट के क्लासटाइप की आवश्यकता है।

क्लासटाइप दस्तावेज़ में इस अनुशंसा के पीछे क्या कारण है?

if obj.ClassType = TStringList then 
    .... 

यही हालत ही सच्चा मूल्यांकन करेंगे अगर वस्तु की क्लास TStringList है:

उत्तर

17

सबसे स्पष्ट कारण है कि यह सलाह दी गई है प्रोग्रामर है कि इस तरह कोड लिखने के लिए चाहते हैं के लिए है। हालांकि, आमतौर पर आप सशर्त कोड TStringList और किसी भी वंशज के लिए दौड़ना चाहते हैं। जो मामले में आप लिखें:

if obj is TStringList then 
    .... 

आप को पता है कि वर्ग एक उदाहरण है की जरूरत है, तो आप क्या ClassType का उपयोग करना चाहिए है। यदि आप TClassList इंस्टेंस में कक्षाओं की एक सूची बनाए रखते हैं, तो उदाहरण के मेटा क्लास को प्राप्त करने के लिए ClassType का उपयोग करने में संकोच न करें।

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