gpt4 book ai didi

c# - 如何使用采用 XDocument 的构造函数将 XML 反序列化为对象?

转载 作者:可可西里 更新时间:2023-11-01 08:51:04 24 4
gpt4 key购买 nike

我有一个类:

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());
}

关于c# - 如何使用采用 XDocument 的构造函数将 XML 反序列化为对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7901558/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com