nei*_*eil 7 c# multiple-inheritance
我想在C#中实现这一点
(伪代码)
class A;
class B : A;
class C : A, B;
...
A ac = (A)c;
...
B bc = (B)c;
Run Code Online (Sandbox Code Playgroud)
这可能吗?
在这种特殊情况下,您不需要多重继承:如果类C仅从中继承B,则C可以将任何类的实例强制转换为B 和 A ; 既然B已经衍生出来A,C不需要A再次衍生出来:
class A { ... }
class B : A { ... }
class C : B { ... }
...
C c = new C();
B bc = (B)c; // <-- will work just fine without multiple inheritance
A ac = (A)c; // <-- ditto
Run Code Online (Sandbox Code Playgroud)
(正如其他人已经说过的,如果你需要类似于多重继承的东西,请使用接口,因为类可以根据需要实现尽可能多的接口.)