我的问题是,我从这样的课开始:
public class MyType {
public string PropertyOne { get; set; }
public string PropertyTwo { get; set; }
}
然后我使用客户端库将其存储在couchbase上,例如:
var client = new CouchbaseClient("mybucket");
var instance = new MyType()
{
PropertyOne = "1",
PropertyTwo = "2"
};
var key = "MyType_" + Guid.NewGuid();
client.ExecuteStore(StoreMode.Set, key, instance);
但是我需要重构我的类型,从而更改签名:
public class MyType {
public string Property1 { get; set; }
public string Property2 { get; set; }
}
因此,当我尝试反序列化旧数据(更改前)和使用新签名的新数据时出现问题:
var oldSignatureVersion = clientB.Get<MyType>("MyType_maybe_signature_1_or_2");
var newSignatureVersion = clientB.Get<MyType>("MyType_maybe_signature_1_or_2");
我不知道如何在不使代码变得非常难看的情况下解决这个问题,这里最好的方法是什么?
由于