基类非抽象类时,如何强制派生类实现某方法? 让派生类去继承一个接口吗? 这样如果,写派生类时没有继承接口,这个强制不就又失效了吗?

解决方案 »

  1.   

    还是用abstract修饰:
        abstract class A
        {
            abstract public void MustImplement();            //<----
        }
      

  2.   

    强制实现不太可能吧,你可以覆盖
    new一个方法,就覆盖了算了
      

  3.   

    或者这样, 基本也可以完成作者的目的:    class A
        {
            public virtual void MustImplement()
            {
                throw new Exception("Must be implemented");
            }
        }
      

  4.   

    gomoku 的第二个主意不错.要这样强制是因为写控件时,基类声明成abstract,会在visual studio设计界面中显示不出来,提示基类是抽象类的无法实例化.
      

  5.   


    写控件时,基类声明成abstract,派生类会在visual studio设计界面中显示不出来,提示基类是抽象类的无法实例化.
    不知这种问题有没有好的解决方法?