पढ़ते समय विफल रहता है मैं सदस्य का उपयोग कर रहा हूं जिसमें [DataMember()]
के साथ चिह्नित किसी ऑब्जेक्ट को क्रमबद्ध करने के लिए DataContractSerializer
का उपयोग कर रहा हूं। विचार वस्तु गुणों का एक लचीला बैग होना है, और मुझे नहीं पता कि वे गुण क्या हो सकते हैं।DataContractSerializer और Dictionary <string, object>
यह महान काम करता है जब मैं शब्दकोश में int
, double
और string
वस्तुओं डाल रहा हूं, लेकिन जब मैं उस में एक List<string>
डाल के साथ वस्तु deserialize करने में विफल रहता:
System.InvalidOperationException: Node type Element is not supported in this operation.
पूरे शब्दकोश में धारावाहिक है XML, और यह बहुत उचित दिखता है:
<Attributes xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringanyType>
<d2p1:Key>name</d2p1:Key>
<d2p1:Value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:string">Test object</d2p1:Value>
</d2p1:KeyValueOfstringanyType>
<d2p1:KeyValueOfstringanyType>
<d2p1:Key>x</d2p1:Key>
<d2p1:Value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:double">0.5</d2p1:Value>
</d2p1:KeyValueOfstringanyType>
<d2p1:KeyValueOfstringanyType>
<d2p1:Key>y</d2p1:Key>
<d2p1:Value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:double">1.25</d2p1:Value>
</d2p1:KeyValueOfstringanyType>
<d2p1:KeyValueOfstringanyType>
<d2p1:Key>age</d2p1:Key>
<d2p1:Value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:int">4</d2p1:Value>
</d2p1:KeyValueOfstringanyType>
<d2p1:KeyValueOfstringanyType>
<d2p1:Key>list-of-strings</d2p1:Key>
<d2p1:Value>
<d2p1:string>one string</d2p1:string>
<d2p1:string>two string</d2p1:string>
<d2p1:string>last string</d2p1:string>
</d2p1:Value>
</d2p1:KeyValueOfstringanyType>
</Attributes>
नोट वहाँ अंत में list-of-strings
। इसे सभी मान मिल गए हैं लेकिन कुछ भी यह इंगित नहीं करता कि यह List<string>
या कुछ भी है।
इस स्थिति को संभालने का सही तरीका क्या है?