我正在使用数据合约序列化,我不想更改数据成员属性的类型
[DataContract]
public class Page
{
[DataMember]
public int Height{get;set;}
}
现在我不想将 Height 属性的类型从"int"更改为"double"。但是,我不想确保如果我打开一个旧文件,该文件中的值会被使用并正确分配给"高度",即 int 类型的值转换为双倍。
我想这样做而不必保留任何冗余属性。有什么方法可以做到这一点吗?
数据协定版本控制
以下更改始终是中断性的
。
- 更改数据成员的数据协定。例如,将数据成员的类型从整数更改为字符串或从类型更改将名为"Customer"的数据协定转换为具有数据协定的类型命名为"人"。
所以不,你不能这样做,这违反了合同。
您将需要以某种方式切割和运行。您可能需要制作管道来处理旧合同。