请教一下C#里面继承,有动态继承这功能吗?
比如我有个类class A,有两个自定义基类class Base1和class Base2在不同情况下,我可能希望A继承Base1:
class A:Base1{..}
也可能希望A继承Base2:
class A:Base2{...}有没有这个针对同一个类A可以动态决定其基类的方法呢?C++中有形如
template < class Base > class Derive:public Base
的方法可以实现,C#就找不到了~~
比如我有个类class A,有两个自定义基类class Base1和class Base2在不同情况下,我可能希望A继承Base1:
class A:Base1{..}
也可能希望A继承Base2:
class A:Base2{...}有没有这个针对同一个类A可以动态决定其基类的方法呢?C++中有形如
template < class Base > class Derive:public Base
的方法可以实现,C#就找不到了~~
用接口行不行?
interface A
class a:A
class b:A
一般来说应该是用interface来处理
{
void Paint();
}
interface ISurface
{
void Paint();
}
class SampleClass : IControl, ISurface
{
// Both ISurface.Paint and IControl.Paint call this method.
public void Paint()
{
}
}
{
void doit();
}
class C1:IMy1
{
void doit()
{
'append concret code on this
} void othermethod1()
{
'append concret code on this
}}class C2:IMy1
{
void doit()
{
'append concret code on this
}
void othermethod2()
{
'append concret code on this
}}C1 c1=new C1();
C2 c2=new C2();
ArrayList list=new ArrayList();
list.Add(c1);
list.Add(c2);foreach(IMy1 imy in list){
imy.doit();
}