क्यों संरचना में पैरामीटर रहित कन्स्ट्रक्टर नहीं हो सकता है? सीएलआर के लिए ऐसा करने में क्या समस्या है या इसकी अनुमति क्यों नहीं है? कृपया इसे समझाएं क्योंकि मुझे यह समझ में नहीं आता है।क्यों संरचना में पैरामीटर रहित कन्स्ट्रक्टर नहीं हो सकता
उत्तर
मेरे पास एक स्पष्ट पैरामीटर रहित कन्स्ट्रक्टर नहीं हो सकता है, केवल अंतर्निहित, जो सभी सदस्यों को उनके डिफ़ॉल्ट में प्रारंभ करता है।
हालांकि CLR यह अनुमति देता है, सी # structs एक डिफ़ॉल्ट parameterless निर्माता के लिए अनुमति नहीं है। का कारण यह है कि, मान प्रकार के लिए, डिफ़ॉल्ट रूप से संकलित नहीं करता है और न ही डिफ़ॉल्ट कन्स्ट्रक्टर उत्पन्न करता है, न ही वे डिफ़ॉल्ट कन्स्ट्रक्टर को कॉल करते हैं। तो, यदि आप डिफ़ॉल्ट कन्स्ट्रक्टर को परिभाषित करने के लिए भी हुए हैं, तो यह नहीं होगा और यह केवल आपको भ्रमित करेगा। ऐसी समस्याओं से बचने के लिए, C# कंपाइलर उपयोगकर्ता द्वारा डिफ़ॉल्ट कन्स्ट्रक्टर की परिभाषा को अस्वीकार करता है। और क्योंकि यह एक डिफ़ॉल्ट निर्माता उत्पन्न नहीं करता है, तो आप क्षेत्रों जब उन्हें परिभाषित करने शुरू नहीं किया जा सकता है, ...
काफी एक उचित स्पष्टीकरण में पाया जा सकता: http://en.csharp-online.net/CSharp_FAQ:_Why_must_struct_constructors_have_at_least_one_argument
का हवाला देते हुए: ".NET कॉमन लैंग्वेज रनटाइम (सीएलआर) गारंटी नहीं देता है कि पैरामीटर रहित रचनाकारों को बुलाया जाएगा। यदि structs को डिफ़ॉल्ट, पैरामीटर रहित कन्स्ट्रक्टर रखने की अनुमति थी, तो यह संकेत होगा कि डिफ़ॉल्ट कन्स्ट्रक्टर हमेशा कॉल किए जाएंगे। फिर भी, सीएलआर बनाता है ऐसी कोई गारंटी नहीं है। "
- 1. KeyValuePair - कोई पैरामीटर रहित कन्स्ट्रक्टर नहीं है?
- 2. ऑटोफैक पैरामीटर रहित कन्स्ट्रक्टर चयन
- 3. एसक्यूएलमैटल कक्षाएं उत्पन्न करता है लेकिन पैरामीटर रहित कन्स्ट्रक्टर नहीं
- 4. पैरामीटर रहित कन्स्ट्रक्टर रखने के लिए मैं व्युत्पन्न कक्षाओं को क्यों लागू नहीं कर सकता?
- 5. वेबसाइट सेवा को क्रमबद्ध नहीं किया जा सकता है क्योंकि इसमें पैरामीटर रहित कन्स्ट्रक्टर नहीं है
- 6. पैरामीटर रहित कन्स्ट्रक्टर्स
- 7. में सार्वजनिक पैरामीटर रहित कन्स्ट्रक्टर होना चाहिए, है ना?
- 8. कंटेनर निर्माण में इंजेक्शन कन्स्ट्रक्टर के रूप में पैरामीटर रहित कन्स्ट्रक्टर को सेट करना
- 9. एक्सएमएल-सीरियलज़ेबल क्लास को पैरामीटर रहित कन्स्ट्रक्टर की आवश्यकता क्यों है
- 10. सी ++ में संरचना कन्स्ट्रक्टर?
- 11. सी ++ पीओडी प्रकार में कोई कन्स्ट्रक्टर नहीं हो सकता है?
- 12. क्या मैं वंशजों को पैरामीटर रहित कन्स्ट्रक्टर रखने के लिए मजबूर कर सकता हूं?
- 13. इस ऑब्जेक्ट के लिए कोई पैरामीटर रहित कन्स्ट्रक्टर परिभाषित नहीं किया गया है। केंडो ग्रिड
- 14. सिस्टम। MissingMethodException: इस ऑब्जेक्ट के लिए कोई पैरामीटर रहित कन्स्ट्रक्टर परिभाषित नहीं है। एमवीसी 4
- 15. इस ऑब्जेक्ट के लिए कोई पैरामीटर रहित कन्स्ट्रक्टर परिभाषित नहीं किया गया है। एएसपी.नेट एमवीसी नियंत्रक
- 16. मैं कैसे जांचूं कि कोई प्रकार पैरामीटर रहित कन्स्ट्रक्टर प्रदान करता है या नहीं?
- 17. कन्स्ट्रक्टर में वैकल्पिक पैरामीटर वाले वर्ग द्वारा नई() जेनेरिक बाधा क्यों संतुष्ट नहीं है?
- 18. एक enum एक पैकेज-निजी कन्स्ट्रक्टर क्यों हो सकता है?
- 19. .NET में कक्षा में आभासी कन्स्ट्रक्टर हो सकता है?
- 20. कन्स्ट्रक्टर पैरामीटर
- 21. सुपरटेप कन्स्ट्रक्टर को सीधे कॉल नहीं कर सकता - क्यों नहीं?
- 22. सी # 4.0 में एक विधि में आउट पैरामीटर क्यों नहीं हो सकता है?
- 23. संरचना मैप कन्स्ट्रक्टर तर्क
- 24. क्यों __getitem__ क्लासमेड नहीं हो सकता है?
- 25. नेट आरआईए सेवाएं: डोमेन सेवा को पैरामीटर रहित कन्स्ट्रक्टर की आवश्यकता है?
- 26. क्या पैरामीटर रहित कन्स्ट्रक्टर के बिना कक्षा के साथ प्रोटोबफ-नेट का उपयोग करना संभव है?
- 27. $ _POST में स्ट्रिंग्स में डॉट "।" क्यों नहीं हो सकता है?
- 28. "... पैरामीटर रहित कन्स्ट्रक्टर और प्रारंभकर्ता समर्थित हैं ..." त्रुटि का मतलब क्या है?
- 29. एएसपी.नेट एमवीसी वेबएपी: इस ऑब्जेक्ट के लिए परिभाषित कोई पैरामीटर रहित कन्स्ट्रक्टर
- 30. डीडीडी + सार्वजनिक पैरामीटर रहित रचनाकार - क्या वे मौजूद होना चाहिए?
एक डुप्लिकेट http://stackoverflow.com/questions/333829 है, "मैं .NET में किसी संरचना के लिए डिफ़ॉल्ट कन्स्ट्रक्टर को परिभाषित क्यों नहीं कर सकता" –
डुप्लिकेट: [मैं डिफ़ॉल्ट डिज़ाइनर को परिभाषित क्यों नहीं कर सकता .NET में एक संरचना] (http://stackoverflow.com/questions/333829/why-cant-i-define-a-default-constructor-for-a-struct-in-net) –