我想知道在更改类名称空间后有没有办法处理反序列化?
目前我不得不用XML替换旧命名空间的文本值进行编辑替换。
有更好的方法吗?
答案 0 :(得分:0)
总是一个棘手的问题。除非你能保证课程不会改变,否则最好找到另一种序列化方法。
但是,要回答这个问题,您可以拥有该类的Version
属性(如果您有很多,则可以将其放在基类中)。每当你改变课程时,你都需要记住增加它。
然后你可以进行一系列“迁移”,它们将知道如何将XML从一个版本转换为另一个版本。如果要反序列化,首先将文件作为XML加载,依次应用迁移(因为自创建文件以来可能有多处更改),然后反序列化现在转换的XML。