【问题标题】:Backwards compatibility when changing base class更改基类时的向后兼容性
【发布时间】:2011-03-16 06:43:32
【问题描述】:

在 .NET 中,当我为之前没有任何基类(从 System.Object 继承)的类设置新基类时,我是否保持二进制兼容性?

【问题讨论】:

    标签: .net backwards-compatibility


    【解决方案1】:

    快速测试表明它没问题,但我个人非常担心在不重新编译的情况下这样做。如果不执行相同的步骤,您将基本上处于无法从源代码复制的状态 - 构建库、构建调用代码、更改库、仅重建库代码。

    行为可以通过扩展方法和重载等方式以微妙的方式改变。如果您也可以重新构建所有调用代码,则更加更干净,因此您在调试等方面处于更坚实的基础。如果您发现库和调用之间的某些交互存在错误代码,你必须真的小心你如何分析、测试和调试它,如果你不能重建所有东西并得到相同的结果。

    【讨论】:

      【解决方案2】:

      除非基类以某种方式改变旧的行为,否则应该不会有任何问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-11-11
        • 2022-01-15
        • 2021-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多