दिलचस्प पोस्ट
कैसे वर्तमान पंक्ति को jqgrid में जारी रखने के लिए फिक्स्ड आवरण के साथ बूटस्ट्रैप ग्रिड – स्टैकिंग से स्तंभ रोकें क्या varchar (500) पर varchar (8000) पर एक फायदा है? लूप से एजेक्स कॉलबैक फ़ंक्शन (जावास्क्रिप्ट) के लिए इंडेक्स गुजर रहा है वेबव्यू में कैमरा या गैलरी से एक छवि अपलोड करें पृष्ठ लोड पर बीनिंग बीन पर क्वेरी क्वेरी स्ट्रिंग यूआरएल मापदंडों को कैसे प्राप्त करूं? लोड करने के लिए ऐसी कोई फ़ाइल नहीं है – रूबीगाम्स (लोड एरर) MVC में 'डेटा-वाल-नंबर' संदेश सत्यापन को कैसे बदलें, जबकि इसे @Html सहायक द्वारा उत्पन्न किया जाता है सर्वश्रेष्ठ जीडब्ल्यूटी विजेट लाइब्रेरी? पायथन: फ़िल्ट और डिफ्लेलेट कार्यान्वयन गैर मानक पोर्ट के साथ एक दूरस्थ रिपॉजिटरी का उपयोग करना प्रोग्राम में से एक जावा एप को कैसे छोड़ दिया जाए गीट मेरे एसएसआई कुंजी पासफ़्रेज़ के लिए मुझसे पूछता रहता है पायथन में दूरी संपादित करें MongoDB में FindAndModify और अपडेट के बीच अंतर क्या है?

क्यों एक्सएमएल सीरियलिज़ेबल वर्ग को पैरासेलेबल कन्स्ट्रक्टर की आवश्यकता है

मैं एक्सएमएल धारावाहिक करने के लिए कोड लिख रहा हूँ नीचे फ़ंक्शन के साथ

public static string SerializeToXml(object obj) { XmlSerializer serializer = new XmlSerializer(obj.GetType()); using (StringWriter writer = new StringWriter()) { serializer.Serialize(writer, obj); return writer.ToString(); } } 

यदि तर्क पैरासेलेबल कन्स्ट्रक्टर के बिना वर्ग का एक उदाहरण है, तो यह एक अपवाद फेंक देगा।

अप्रतिबंधित अपवाद: सिस्टम। अज्ञातऑपरेशन अपवाद: CSharpConsole.Foo को क्रमबद्ध नहीं किया जा सकता क्योंकि इसमें पैरामीटर रहित निर्माता नहीं है। System.Xml.Serialization.TypeDesc.CheckSupported () पर System.Xml.Serialization.TypeScope.GetTypeDesc (प्रकार प्रकार, MemberInfo sourc ई, System.Xml.Serialization.ModelScope.GetTypeModel पर प्रकार प्रकार, बुलियन throwOnError) System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping पर System.Xml.Serialization.XmlSerializer..ctor (प्रकार प्रकार, स्ट्रिंग डिफ़ॉल्ट नाम स्थान) पर System.Xml.Serialization पर (टाइप प्रकार, XmlRootAttribute रूट, स्ट्रिंग डिफ़ॉल्ट नामस्थान) पर बूलियन प्रत्यक्ष संदर्भ)। एक्सएमएलसीरियलआइजर..प्रकार (प्रकार प्रकार)

XML सीरियलाइजेशन को सफल बनाने के लिए पैरामीटर रहित कंसट्रक्टर क्यों होना चाहिए?

संपादित करें: cfeduke के जवाब के लिए धन्यवाद। पैरामीटरलेस निर्माता निजी या आंतरिक हो सकता है

Solutions Collecting From Web of "क्यों एक्सएमएल सीरियलिज़ेबल वर्ग को पैरासेलेबल कन्स्ट्रक्टर की आवश्यकता है"

किसी ऑब्जेक्ट के डे-सीरियलाइजेशन के दौरान, किसी ऑब्जेक्ट को डी-सिरिअलिज़ करने के लिए जिम्मेदार वर्ग सीरिजलाइज्ड क्लास का एक उदाहरण बनाता है और फिर सीरिजलाइज्ड फ़ील्ड और प्रॉपर्टी को पॉप्युलेट करने के लिए एक इंस्टेंस प्राप्त करने के बाद अर्जित करता है।

यदि आप चाहते हैं कि आप अपने कन्स्ट्रक्टर को private या internal बना सकते हैं, तो इसके पैरामीटर वाले

यह XmlSerializer की एक सीमा है ध्यान दें कि BinaryFormatter और DataContractSerializer को इसकी आवश्यकता नहीं है – वे आकाश का एक अनिर्धारित ऑब्जेक्ट बना सकते हैं और इसे deserialization के दौरान प्रारंभ कर सकते हैं।

चूंकि आप एक्सएमएल का उपयोग कर रहे हैं, तो आप डेटा DataContractSerializer का उपयोग करने और [DataContract] क्लास के साथ अपने वर्ग को चिह्नित करने पर विचार कर सकते हैं], लेकिन ध्यान दें कि यह स्कीमा बदलता है (उदाहरण के लिए, [XmlAttribute] बराबर नहीं है – सब कुछ तत्व बन जाता है)।

अद्यतन: यदि आप वास्तव में जानना चाहते हैं, तो BinaryFormatter एट का उपयोग करें FormatterServices.GetUninitializedObject() बनाने के बिना ऑब्जेक्ट बनाने के लिए। शायद खतरनाक; मैं इसे बहुत बार उपयोग करने की अनुशंसा नहीं करता हूं; -पी एमएसडीएन पर टिप्पणी भी देखें:

चूंकि ऑब्जेक्ट के नए इंस्टॉलेशन को शून्य पर आरंभ किया जाता है और कोई कन्स्ट्रक्टर नहीं चला है, इसलिए ऑब्जेक्ट उस ऑब्जेक्ट का प्रतिनिधित्व नहीं कर सकता है जिसे उस ऑब्जेक्ट द्वारा मान्य माना जाता है। वर्तमान पद्धति का उपयोग केवल deserialization के लिए किया जाना चाहिए, जब उपयोगकर्ता तुरंत सभी क्षेत्रों को आबाद करना चाहता है। यह एक अपरिहार्य स्ट्रिंग नहीं बना है, क्योंकि एक अपरिवर्तनीय प्रकार का एक खाली उदाहरण बनाने से कोई उद्देश्य नहीं है।

मेरे पास अपना सीरिजलाइजेशन इंजन है, लेकिन मैं इसे FormatterServices उपयोग करने का इरादा नहीं करता; मुझे यह जानना काफी पसंद है कि एक निर्माता ( किसी भी निर्माता) ने वास्तव में निष्पादित किया है।

सबसे पहले, यह जो दस्तावेज़ में लिखा है। मुझे लगता है कि यह आपकी कक्षा के खेतों में से एक है, मुख्य एक नहीं है – और कैसे आप deserialiser इसे वापस निर्माण करने के लिए चाहते हैं w / o पैरामीटरless निर्माण?

मुझे लगता है कि निर्माता निजी बनाने के लिए एक वैकल्पिक उपाय है।