【发布时间】:2025-12-23 03:55:12
【问题描述】:
(vb.net/c#/etc)
我无法弄清楚如何做一些反序列化魔法。目前标准的反序列化工作正常,包括枚举,但是现在我想将一个属性转换为一个类。哦!我在想什么!
我的 xml 看起来有点像这样:
....
<review user="..." version="2.2">...</review>
这适用于我的财产/班级:
[XmlAttribute("version")]
public MyVersion Version { get; set; }
class MyVersion {
// equality overloaded
// can ctype() from string to MyVersion
// constructor that takes a single string, etc
}
如何帮助序列化程序,以便它可以自动将我的字符串属性反序列化到这个类中?我是否需要以某种方式修改 MyVersion 类,或者更改属性的定义?
- 我确实不想要重写任何方法,如 OnDeserialized 等。对于这个项目来说,这是不值得的。
如果使用默认的 xml 反序列化器无法做到这一点,那么知道这一点就足够了。它有很多不好的地方,所以我不会感到惊讶。
谢谢!
【问题讨论】: