说我有4类:Foo,Bar,Qux,和Baz.我也有一个界面IFubar.
类如此继承:
Bar : Foo, IFubar
Qux : Baz, IFubar
Run Code Online (Sandbox Code Playgroud)
在这些方法IFubar几乎总是用相同方式实现,不管是什么类继承他们.理想的解决办法是有实施IFubar本身,但我不能改变IFubar的一类,因为Bar和Qux 有要继承Foo和Baz分别,和C#不支持多重继承.
是否有一种简单的方法可以在界面中使用某种"默认"逻辑,因为缺少更好的术语?现在我的"实现"只是在另一个类中调用静态方法,这允许我在那里执行所有逻辑并最小化代码重复.不过,我觉得这不是一个优雅的解决方案.
理想情况下,我希望有一个派生自某个类的类,IFubar并且让它自动获得相同的IFubar实现,而无需复制和粘贴.我很确定C#不可能做到这一点,但我想确定一下.
老实说,这只是一个轻微的烦恼,我不得不一遍又一遍地复制和粘贴相同的代码,但我一直在想一个更优雅的解决方案,我不能.
这将全部用于Unity3D引擎中使用的东西,所以我主要限于.NET 3.5中的东西.
有没有人有更好的解决方案或建议?