继承自已有子类的超类

时间:2018-01-16 10:24:28

标签: c# inheritance

我在代码中遇到了以下设计问题,可以使用一些指针。我可能会遗漏一些明显的东西,或者我应该使用某种我不熟悉的模式。

我的继承树如下所示....

Inheritance tree

项目A和B代表Visual Studio中的单独项目。其他项目也可以从项目A中的类继承。

需要更改/覆盖ControlSepaControl上的某些行为,并拥有该项目中的其他元素,例如SepaTextField继承自SepaControl

我在右侧突出显示了问题。我不能SepaTextField继承SepaControl,因为SepaTextField已经从继承自TextField的{​​{1}}继承。

我可以复制Control中的代码并将其添加到TextField(我需要进行任何其他修改)并继承SepaTextField,但这似乎效率很低。

我如何更好地重组这个以便我可以修改我的SepaControl类的行为而不会遇到这个问题?

(同时包含ControlControl -> TextField -> SepaTextField的N.B仅用于说明目的。我将寻找单SepaControl -> TextField -> SepaTextField}的实现

谢谢,

0 个答案:

没有答案