请教一下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#就找不到了~~

解决方案 »

  1.   

    一定要继承吗?
    用接口行不行?
    interface A
    class a:A
    class b:A
      

  2.   

    二楼的说用factory来处理,不太明白
    一般来说应该是用interface来处理
      

  3.   

    interface IControl
    {
        void Paint();
    }
    interface ISurface
    {
        void Paint();
    }
    class SampleClass : IControl, ISurface
    {
        // Both ISurface.Paint and IControl.Paint call this method.
        public void Paint()
        {
        }
    }
      

  4.   

    interface IMy1
    {
      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();
    }