मेरे पास कई नलबल < टी > गुणों वाला एक वर्ग है जो मैं एक्सएमएल को गुणों के रूप में क्रमबद्ध करना चाहता हूं। यह स्पष्ट रूप से नो-नो है क्योंकि उन्हें 'जटिल प्रकार' माना जाता है। तो, बजाय मैं * निर्धारित पैटर्न, जहां मैं एक अतिरिक्त बनाने के लागू * मूल्य और * यह विशेषता इस प्रकार है:XmlSerializer और nullable विशेषताएँ
[XmlIgnore] public int? Age { get { return this.age; } set { this.age = value; } } [XmlAttribute("Age")] public int AgeValue { get { return this.age.Value; } set { this.age = value; } } [XmlIgnore] public bool AgeValueSpecified { get { return this.age.HasValue; } }
कौन सा ठीक काम करता है - अगर 'उम्र' संपत्ति एक मूल्य है, यह एक के रूप में धारावाहिक रूप है विशेषता। यदि इसका कोई मूल्य नहीं है, तो यह क्रमबद्ध नहीं है।
समस्या यह है कि, जैसा कि मैंने उल्लेख किया है, मेरे वर्ग में बहुत सारे नामुमकिन हैं और यह पैटर्न सिर्फ चीजों को गन्दा और अप्रबंधनीय बना रहा है।
मैं आशा करती हूं Nullable अधिक XmlSerializer के अनुकूल बनाने के लिए एक रास्ता है। या, उसमें असफल, एक नालीबल प्रतिस्थापन बनाने का एक तरीका है जो है।
क्या किसी के पास कोई विचार है कि मैं यह कैसे कर सकता हूं?
धन्यवाद।
मुझे लगता है कि ऐसा करना होगा - यह एक विशेषता के रूप में क्रमबद्ध करने के लिए 'जटिल' प्रकार बताने में सक्षम होना अच्छा होगा। – Barg