c# – GetObjectData()方法在实现ISerializable时永远不会被打
发布时间:2020-12-15 06:19:35 所属栏目:百科 来源:网络整理
导读:XmlSerializer从不在我的ISerializable上调用GetObjcetData().什么时候调用GetObjectData()?谢谢! class Program{ static void Main(string[] args) { var thing = new Thing { Name = "Dude",Id = 1 }; var xmlSerializer = new XmlSerializer(typeof(Thi
XmlSerializer从不在我的ISerializable上调用GetObjcetData().什么时候调用GetObjectData()?谢谢!
class Program { static void Main(string[] args) { var thing = new Thing { Name = "Dude",Id = 1 }; var xmlSerializer = new XmlSerializer(typeof(Thing)); var sw = new StringWriter(); xmlSerializer.Serialize(sw,foo); var serializedXml = sw.ToString(); var sr = new StringReader(serializedXml); var result = (Thing)xmlSerializer.Deserialize(sr); } } public class Thing : ISerializable { public string Name { get; set; } public int Id { get; set; } public Thing() { } public Thing(SerializationInfo info,StreamingContext context) { } public void GetObjectData(SerializationInfo info,StreamingContext context) { // Breakpoint placed on the following line never gets hit: throw new NotImplementedException(); } } 解决方法
XmlSerializer不调用GetObjectData.二进制和肥皂做.
如果要管理xml序列化,请改用 IXmlSerializable (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容