.Net में, विशेषता विशेषता है जो संकलन-समय या रन-टाइम या दोनों पर उपयोग की जाती है? क्या आप मुझे कुछ उदाहरण दे सकते हैं?क्या .NET विशेषता सुविधा संकलन-समय या रन-टाइम या दोनों पर उपयोग की जाती है?
उत्तर
गुण संकलन समय पर असेंबली के मेटाडेटा के रूप में आउटपुट होते हैं। यह मेटा डेटा तब प्रतिबिंब के माध्यम से रनटाइम पर उपयोग किया जाता है - उदाहरण के लिए GetCustomAttributes()
का उपयोग करना।
कुछ विशेषताओं का संकलन समय संकलन समय पर भी किया जाता है। उदाहरण के लिए संकलक AttributeUsageAttribute
को यह निर्धारित करने के लिए देखता है कि किसी विशेष ऑब्जेक्ट के लिए कोई विशेषता उपयोग की जा सकती है या नहीं।
गुण संकलन समय पर कोड में संकलित किए जाते हैं, लेकिन अक्सर इन्हें रनटाइम पर ट्रिगर्स के रूप में अलग-अलग करने के लिए उपयोग किया जाता है।
संकलक जोड़ता है जिसे किसी विशेषता के साथ सजाए गए ऑब्जेक्ट में मेटाडेटा कहा जाता है। यह मेटाडाटा, चाहे गुणों के माध्यम से बनाया गया हो या अन्यथा, Reflection के माध्यम से रन-टाइम पर सभी पहुंच योग्य है। इस प्रकार, आप गुणों के साथ सजाने के लिए और फिर प्रोग्राम चलाते समय विवरण पढ़ सकते हैं। हालांकि, यह कहने के लिए कि मेटाडेटा संकलन समय पर "प्रयुक्त" है, यह बिल्कुल सही नहीं है, क्योंकि कंपाइलर परवाह नहीं है कि मेटाडेटा क्या है।
-1: कुछ मामलों में गुण सार्थक तरीकों से संकलन को प्रभावित करते हैं। उदाहरण के लिए, सशर्त विशेषता मुख्य रूप से संकलन समय के दौरान उपयोग के लिए होती है, और यदि गलत तरीके से उपयोग की जाती है तो संकलक त्रुटियों को ट्रिगर कर सकते हैं। – Brian
हाँ आप सही हैं ... मैं उन मामलों के बारे में भूल गया ... अप्रचलित एक और है। –
अधिकांश केवल रनटाइम पर उपयोग किए जाते हैं। एक बहुत ही सीमित संख्या संकलक द्वारा उपयोग किया जाता है, जिनमें शामिल हैं:
[Conditional(...)]
- निर्माण प्रतीकों प्रति विधि कॉल छोड़[Obsolete(...)]
- एक CLI ध्वज के रूप में लिखा जाता है - निर्माण आउटपुट के रूप में एक चेतावनी/त्रुटि[Serializable]
फेंकना[Extension]
- विस्तार के तरीकों के लिए इस्तेमाल किया[AttributeUsage]
- कैसे प्रभावित करता विशेषताओं लागू होते हैं -
[AssemblyVersion]
, [AssemblyFileVersion]
आदि जैसी कई चीजें हैं जो असेंबली फ़ाइल बनाते समय कंपाइलर द्वारा उपयोग की जाती हैं, और [InternalsVisibleTo]
जैसी चीजें जो पहुंच को प्रभावित करती हैं।
इसके अतिरिक्त, पोस्टशर्प जैसे टूल विशेषताओं के आधार पर अतिरिक्त पोस्ट-संकलन चरण करते हैं।
कुछ अन्य विशेषताएं हैं जो संकलक जेनरेट किए गए प्रकार/विधियों (एनन-विधियों/प्रकारों, इटरेटर ब्लॉक आदि के लिए) जोड़ सकते हैं।
- 1. एमवीसी या आराम या दोनों
- 2. अजवाइन या beanstalkd या दोनों?
- 3. कॉपी या कॉपी ओवरराइड WithZone: या दोनों?
- 4. क्या विशेषता रनटाइम .NET प्रदर्शन में मदद करते हैं?
- 5. केक में लगातार जेवीएम सुविधा कैसे लागू की जाती है?
- 6. रीढ़ की हड्डी या ext/Sencha स्पर्श या दोनों
- 7. क्या आपको नेट 3.5 और 4.0 दोनों स्थापित या सिर्फ .NET 4 की आवश्यकता है?
- 8. एंटिटी फ्रेमवर्क में आपको सबसे ज्यादा परेशान करने वाली सुविधा (या सुविधा की कमी) क्या है?
- 9. श्रेणियां, टैग या दोनों?
- 10. क्या "स्थैतिक वर्ग आयात" वास्तव में सी # की भावी विशेषता पर एक घोषित या संकेतित है?
- 11. पीयर समीक्षा या जोड़ी प्रोग्रामिंग, या दोनों?
- 12. रेल: format.js या format.json, या दोनों?
- 13. इंटरफ़ेस, कार्यान्वयन या दोनों पर टिप्पणी करें?
- 14. अनचेक अपवाद या रनटाइम अपवाद
- 15. बढ़ावा :: program_options बग या सुविधा?
- 16. प्रारंभिक जावा सरणी स्टैक या ढेर पर जाती है?
- 17. रिबन सुविधा .NET 4.5
- 18. .NET 2.0 रनटाइम पर LINQ
- 19. .NET या MS SQL
- 20. RewriteCond शासन छोड़ने की सुविधा फ़ाइल या निर्देशिका
- 21. रेफरी विशेषता या XSD
- 22. क्या एएसपी .NET MVC में प्राधिकरण विशेषता प्रमाणीकरण के साथ-साथ प्राधिकरण के लिए भी उपयोग की जाती है?
- 23. - [NSURL isFileReferenceURL] की सुविधा क्या है?
- 24. रनटाइम पर .NET असेंबली संसाधनों का आकलन
- 25. .NET में थ्रेड मेमोरी उपयोग की तेज जांच या सीमित?
- 26. जेनिक्स रनटाइम या संकलन समय polymorphism है?
- 27. घटक एचटीएमएल 5 या protoype.js चीज की विशेषता है?
- 28. क्या लूप की सीमा एक बार या प्रत्येक लूप के साथ गणना की जाती है?
- 29. दो टेक्स्ट बॉक्स, या तो एक या दोनों की आवश्यकता है
- 30. आईओएस :: बाइनरी या आईओएस :: आउट या दोनों के साथ फाइल खोलने के बीच क्या अंतर है?
कंपाइलर कंपाइलर समय पर ObsoleteAttribute का भी उपयोग करता है। – plinth