我有一个班:
public class MyClass { public MyClass(){} }
我希望能够使用XMLSeralizer直接在构造函数中对XDocument进行反序列化:
public class MyClass { private XmlSerializer _s = new XmlSerializer(typeof(MyClass)); public MyClass(){} public MyClass(XDocument xd) { this = (MyClass)_s.Deserialize(xd.CreateReader()); } }
除非我不允许在构造函数中分配给“this”.
这可能吗?
解决方法
不,不可能.序列化器在反序列化时创建对象.您已经创建了一个对象.而是提供一个从XDocument构造的静态方法.
public static MyClass FromXml (XDocument xd) { XmlSerializer s = new XmlSerializer(typeof(MyClass)); return (MyClass)s.Deserialize(xd.CreateReader()); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。