public class Hat
{
[XmlTextAttribute]
public string Name { get; set; }
[XmlAttribute("Color")]
public string Color { get; set; }
}
var hat1 = new Hat {Name="Cool Hat", Color="Red"};
var hat2 = new Hat {Name="Funky Hat", Color=null};
यह मैं (नोटिस लापता फंकी टोपी पर रंग-विशेषता) प्राप्त होता हैको क्रमानुसार स्ट्रिंग संपत्ति है, भले ही स्ट्रिंग खाली है
<Hats>
<Hat Color="Red">Cool Hat</Hat>
<Hat Color="">Funky Hat</Hat>
</Hats>
मैं इसे कैसे बाहर छोड़ने की जगह में एक खाली विशेषता बनाने के लिए serializer मजबूर कर सकते हैं?
संपादित करें:
बाहर कर देता है मैं एक बेवकूफ हूँ और एक उदाहरण है कि एक त्रुटि निहित है, क्योंकि मैं उदाहरण के लिए कोड को आसान बनाने में करना चाहता था बनाया।
यदि रंग का मान "" (string.empty) है, तो इसे वास्तव में खाली विशेषता के रूप में क्रमबद्ध किया जाता है। हालांकि, मैं वास्तव में एक शून्य मूल्य था, एक खाली स्ट्रिंग नहीं - इसलिए इसे छोड़ दिया गया था।
तो मैं जो व्यवहार चाहता था वह वास्तव में पहले से ही मेरे द्वारा बनाए गए उदाहरण का व्यवहार था।
क्षमा करें, लोग!
_ "अगर रंग का मूल्य है" "(या string.empty), यह वास्तव में एक खाली विशेषता के रूप में धारावाहिक है हालांकि, मैं वास्तव में। एक शून्य मूल्य था, एक खाली स्ट्रिंग नहीं - इसलिए इसे छोड़ दिया गया। "_ वाह ने उस व्यवहार को पहले नहीं देखा था। दिलचस्प बिंदु। –