シリアル化されているオブジェクトがあり、「バージョン」プロパティを追加したいと考えています。
私が欲しいのは:
- コードで作成された新しいオブジェクトには、「最新」バージョンを指定する必要があります (どこかで定義されています)。
xml に version プロパティを持たない逆シリアル化されたオブジェクトには、「バージョン 1」のラベルを付ける必要があります。
xml にバージョン プロパティがあるデシリアライズされたオブジェクトは、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";