加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何使用构造函数将XML反序列化到对象中,该构造函数需要XD

发布时间:2020-12-15 06:17:33 所属栏目:百科 来源:网络整理
导读:我有一个班: public class MyClass{ public MyClass(){}} 我希望能够使用XMLSeralizer直接在构造函数中对XDocument进行反序列化: public class MyClass{ private XmlSerializer _s = new XmlSerializer(typeof(MyClass)); public MyClass(){} public MyCla
我有一个班:
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());
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读