我有正在序列化的对象并想要添加“版本”属性。
我想要的是:
- 在代码中创建的新对象应该被赋予“最新”版本(在某处定义)
反序列化的对象,在其 xml 中没有版本属性,应标记为“版本 1”。
反序列化的对象,在其 xml中确实具有 version 属性,应使用 xml 中的任何版本。
示例(伪代码):
const string LatestVersion = "2";
class Foo {
public String version {get; set; }
}
var foo = new Foo();
foo.version == "2"
serialize(foo) -> "<foo><version>2</version></foo>";
foo = deserialize("<foo></foo>")
foo.version == "1";
foo = deserialize("<foo><version>2</version>");
foo.version == "2";
foo = deserialize("<foo><version>3</version>");
foo.version == "3";