在.NET中,当我为之前没有任何基类(继承自System.Object)的类设置新的基类时,我是否保持二进制兼容性?
答案 0 :(得分:3)
快速测试表明它没关系,但就个人而言,如果没有重新编译,我会非常紧张。你基本上处于这样一种状态:你无法通过相同的步骤从源代码中重现 - 构建库,构建调用代码,更改库,只重建库代码。
行为可以通过扩展方法和重载等方式以微妙的方式发生变化。如果你可以重建所有的调用代码,那么很多更干净,所以你在调试等方面你会更加坚定。如果你发现库和调用之间的某些交互存在错误代码,如果你不能只重建所有内容并得到相同的结果,你必须非常小心你如何分析,测试和调试它。
答案 1 :(得分:2)
除非基类以某种方式改变旧行为,否则应该没有任何问题。