当成员类型发生变化时,有没有办法提供向后兼容性?例如,Person 类包含一个整数的版本 1,但包含字符串的版本 2。我知道这违反了合同,但这个例子在现实生活中的软件开发中并不罕见。
提前致谢。
// Version 1
[ProtoContract]
class Person
{
[ProtoMember(1)]
public int ID { get; set; }
}
// Version 2
[ProtoContract]
class Person
{
[ProtoMember(1)]
public string ID { get; set; }
}