在父/子接口之间移动方法

本文关键字:移动 方法 之间 接口 在父 | 更新日期: 2023-09-27 18:17:11

我有以下继承结构:

interface A
{ 
   void Foo();
}
interface B : A
{
}

我意识到Foo()实际实现的唯一地方(即,不是空的)是在实现b的类中。

如果我将Foo从A移动到B,我是否必须重新编译所有这些实现类,更重要的是,所有使用这些实现的程序集怎么办?

(我知道我可以自己试试,看看,但我也想对正在发生的事情有一些"洞察力")

在父/子接口之间移动方法

接口定义将以非向后兼容的方式改变,因此您将不得不重新编译其他程序集,如果一些代码在A对象上调用Foo,您将不得不重写该部分代码。

对于解决方案中的任何文件/类:是的。如果类A实际上是在一个。dll库,是的,也,你将不得不重新编译库和更新你的引用。不过我不明白这有什么大不了的。c#的编译速度非常快,并且在编译方面非常聪明。(顺便说一下,每次你运行你的程序,它不是无论如何构建的吗?)

这只是一个版本问题。当前的接口是'过时',然后新的'改进'接口应该取代它。

当然这很大程度上取决于如何使用

相关文章: