如何在不破坏向后兼容性的情况下更改DataContract属性的类型?

茉莉花

我正在使用DataContract序列化,并且我不会更改Datamember属性的类型

[DataContract]
public class Page
{
    [DataMember]
    public int Height{get;set;}
}

现在,我不想将Height属性的类型从'int'更改为'double'。但是,我无法确保如果打开旧文件,则使用文件中的值并将其正确分配给“高度”,即将int类型的值强制转换为double。

我想这样做而不必保留任何冗余属性。有什么办法可以实现?

一般

数据合约版本控制

以下变化总是突破

...

  • 更改数据成员的数据协定例如,将数据成员的类型从整数更改为字符串,或从数据契约名称为“ Customer”的类型更改为数据契约名称为“ Person”的类型。

所以不,你不能这样做,这违反了合同。

您将需要以某种方式削减和运行。您可能需要进行处理以处理较旧的合同。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Protobuf如何在不失去向后兼容性的情况下更改继承层次结构

共享库:在不破坏API兼容性的情况下打破ABI兼容性

如何在不增加对库的依赖的情况下增加与库结构的兼容性?

可以添加新的ProtoInclude属性以不破坏向后兼容性

更改参数名称而不会破坏向后兼容性

如何在保持兼容性的情况下使用 Android KeyStore 加密/解密?

在不破坏向前兼容性的情况下定位 Shadow DOM 元素

如何在不破坏响应性的情况下增加边距

如何在不破坏统一性的情况下删除鹦鹉螺?

如何在没有Chromebook硬件的情况下测试Android应用程序的Chromebook兼容性?

如何在不明确约束所有依赖包的情况下约束与 PHP 的兼容性

如何在不破坏现有HTML的情况下更改DOM中的所有文本?

如何在不破坏现有设置的情况下更改akka-scala响应模型

如何在不破坏 elasticsearch 数据的情况下更改架构?

如何在不破坏数据封装的情况下访问父类属性?

如何在不破坏AnonymousQueue的情况下暂停@RabbitListener

如何在不破坏循环的情况下返回变量?

如何在不破坏依赖的情况下删除ImageMagick?

如何在不破坏画布的情况下刷新数据

如何在不破坏列表的情况下释放指针?

如何在不更改PostgreSQL类型的情况下向类型表中添加列?

如何在构建期间不创建404 /不匹配的匿名模块的情况下在amd兼容性检查中声明依赖项?

如何在没有jQuery的情况下处理Ajax浏览器兼容性?

如何在不更改其他属性的情况下更改ul中的li文本?

JDK 1.7破坏了向后兼容性?(泛型)

Ubuntu SDK的向后兼容性如何?

如何在不破坏SOLID的情况下从具有不同类型的表中获取记录

如何在不破坏结构的情况下更改此六边形div的边界半径?

如何在不破坏/更改当前或外部文件系统的情况下挂载外部ZFS文件系统