C# 使用char-C的数据协定反序列化问题#

C# 使用char-C的数据协定反序列化问题#,c#,serialization,datacontractserializer,xmlserializer,C#,Serialization,Datacontractserializer,Xmlserializer,我的代码引用 var sample = DataContractDeserializeObject<MySample>( "<MySample xmlns=\"http://schemas.datacontract.org/2004/07/Sample\"><Charecter>'D'</Charecter></MySample>"); When i run this code. i g

我的代码引用

var sample = DataContractDeserializeObject<MySample>(
                        "<MySample xmlns=\"http://schemas.datacontract.org/2004/07/Sample\"><Charecter>'D'</Charecter></MySample>");

When i run this code. i get this message "There was an error deserializing the object of type MySample. Content cannot be converted to the type Int. Line 1, position 129."

如何反序列化字符。谢谢。

我隐约记得,由于某种原因,字符被序列化为ascii表示形式。不要尝试D,尝试104

 public static T DataContractDeserializeObject<T>(string objectToDeserialize)
        {
            using (XmlReader reader = XmlReader.Create(new StringReader(objectToDeserialize)))
            {
                var serializer =
                    new DataContractSerializer(typeof(T));
                return (T)serializer.ReadObject(reader);
            }
        }
[DataContract]
    public class MySample
    {
        [DataMember]
        public char Charecter { get; set; }
    }