我遇到了我自己的类的 Xml 序列化问题。它是一个派生类,它自然没有无参数的构造函数——我不得不添加一个只是为了序列化。当然,正因为如此,我遇到了依赖/订单问题。
这是一个简化,我希望它仍然能说明问题(如果事实证明我没有捕捉到问题,我保留增加说明的权利 - 我只是不想将复杂的对象模型转储给你 :))
public class Base{
public virtual Vector Value{ get; set;}
}
public class Derived : Base{
public Vector Coefficient { get; set; }
public override Vector Value{
get { return base.Value * Coefficient; }
set { base.Value = value / Coefficient; }
}
}
编辑:为避免混淆,我double
将原始帖子中的值类型替换为此处未显示的Vector
类型
当 XmlSerializer 反序列化Derived
时,我遇到空值异常 - Bothbase.Value
和this.Coefficient
are null
。
有没有什么办法解决这一问题?