मेरे SomeClassDataContractSerializer ठीक से deserialize नहीं करता है, वस्तु में तरीकों के लिए मान अनुपलब्ध हैं
[Serializable]
[DataContract(Namespace = "")]
public class SomeClass
{
[DataMember]
public string FirstName
{
get; set;
}
[DataMember]
public string LastName
{
get; set;
}
[DataMember]
private IDictionary<long, string> customValues;
public IDictionary<long, string> CustomValues
{
get { return customValues; }
set { customValues = value; }
}
}
मेरे एक्सएमएल फ़ाइल:
<?xml version="1.0" encoding="UTF-8"?>
<SomeClass>
<FirstName>John</FirstName>
<LastName>Smith</LastName>
<CustomValues>
<Value1>One</Value1>
<Value2>Two</Value2>
</CustomValues >
</SomeClass>
लेकिन मेरी समस्या वर्ग के लिए है, मैं केवल के कुछ हो रही है जब मैं deserialize मेरे तरीकों के लिए डेटा।
var xmlRoot = XElement.Load(new StreamReader(
filterContext.HttpContext.Request.InputStream,
filterContext.HttpContext.Request.ContentEncoding));
XmlDictionaryReader reader = XmlDictionaryReader.CreateDictionaryReader(xmlRoot.CreateReader());
DataContractSerializer ser = new DataContractSerializer(typeof(SomeClass));
//Deserialize the data and read it from the instance.
SomeClass someClass = (SomeClass)ser.ReadObject(reader, true);
तो जब मैं "SomeClass" जाँच, FirstName मूल्य जॉन होगा, लेकिन अंतिम नाम अशक्त हो जाएगा।
रहस्य यह है कि मैं कुछ डेटा कैसे प्राप्त कर सकता हूं, न कि कक्षा के सभी डेटा। तो डेटाकंट्रैक्टसेरियलाइज़र deserializing जब xml से सभी डेटा खींच नहीं रहा है।
क्या मैं कुछ गलत कर रहा हूं।
किसी भी मदद की सराहना की जाती है। अग्रिम में धन्यवाद।
मुझे पता है अगर कोई एक ही समस्या है या किसी एक समाधान
नहीं DataMember attr सार्वजनिक संपत्ति पर और नहीं निजी एक पर होना चाहिए? जाहिर है – Dani