我有如下代码:
- [DataContract(Namespace = "")]
- public class User
- {
- [DataMember]
- public string UserName { get; set; }
- [DataMember]
- public string FullName { get; set; }
- }
- //Deserialization test
- public void Test()
- {
- //CASE 1.
- //string xml = "<User><UserName>john</UserName>" +
- // "<FullName>John Lennon</FullName></User>";
- //CASE 2.
- string xml = "<User><FullName>John Lennon</FullName>" +
- "<UserName>john</UserName></User>";
- byte[] byteArray = Encoding.UTF8.GetBytes(xml);
- User user = null;
- using (MemoryStream stream = new MemoryStream(byteArray))
- {
- DataContractSerializer serializer =
- new DataContractSerializer(typeof(User),"User","");
- user = (User)serializer.ReadObject(stream);
- }
- }
在情况1中,FullName属性不反序列化,但是如果2它被反序列化正确.为什么?