मेरे पास कुछ संग्रहों के साथ एक कक्षा है, और मैं संग्रह को खाली होने के बिना, और IXmlSerializable को लागू किए बिना एक्सएमएल को इस वर्ग के उदाहरणों को क्रमबद्ध करना चाहता हूं। मुझे परवाह नहीं है कि यह खाली तत्व बनाता है, या तत्वों को बिल्कुल नहीं बनाता है। बस यह कि प्रत्येक संग्रह आधारित संपत्ति के लिए संग्रह प्रारंभ किए बिना काम करता है।.NET एक्सएमएल सीरियलाइजेशन और नल कलेक्शन
मैंने उन सभी एक्सएमएल विशेषताओं को देखा है जिनके साथ मैं गुणों को सजाने के लिए, और इसके साथ कोई सफलता नहीं मिली है। यह ऐसा करने के लिए एक साधारण चीज की तरह लगता है जिसमें तत्व हो सकता है या बस कोई भी नहीं। फिर जब इसे deserialized किया जा रहा है तो यह सिर्फ उन्हें शून्य या उन्हें अवधि की अनदेखी छोड़ देगा।
इस मुद्दे के माध्यम से काम करने के लिए उपयोग करने के लिए कक्षा का एक साधारण संस्करण यहां दिया गया है। इस संग्रह का उपयोग करके और डिफॉल्ट को अपवाद प्राप्त होने के कारण "ऑब्जेक्ट रेफरेंस ऑब्जेक्ट के उदाहरण पर सेट नहीं किया गया है";
public class MyClass
{
public string Name { get; set; }
public bool IsAlive { get; set; }
public List<Car> Cars { get; set; }
public List<Home> Homes { get; set; }
public List<Pet> Pets { get; set; }
public void ToXmlFile(string fileName)
{
XmlSerializer serializer = new XmlSerializer(typeof(MyClass));
TextWriter writer = new StreamWriter(fileName);
serializer.Serialize(writer, this);
writer.Close();
}
}
संपादित के लिए धन्यवाद में मदद करता है दोस्तों, यह पता चला है मुद्दा मेरी GetHashCode विधि में था जो अशक्त सही ढंग से संभाल नहीं किया। एक बार मैंने यह तय कर लिया कि सब अच्छा था। मैंने सही होने के जवाब देने वाले पहले व्यक्ति को चिह्नित किया। रेड हेरिंग के लिए खेद है, लेकिन आपके साथ काम करने से लोगों ने मदद की।
और समस्या क्या है? यह काम करना चाहिए (कम से कम serialize और deserialize); आप क्या पसंद नहीं कर रहे हैं? –
मैं आपके द्वारा प्राप्त अपवाद को पुन: पेश नहीं कर सका। मैं आपके सटीक MyClass के उदाहरण को क्रमबद्ध और deserialize करने में सक्षम था जैसा आपने इसे दिया था। शायद कुछ और चल रहा है? –
@ ब्रायन हाँ कुछ और चल रहा था, सभी त्वरित मदद के लिए धन्यवाद और यह दिखा रहा है कि यह एक्सएमएल कोड ही नहीं था। :) –