我指的不是override和new,而是想让父类中的某些函数在子类中不可见。

解决方案 »

  1.   

    没悬念,不可能。只能在父类中声明为 private
      

  2.   

    很简单的道理:父类a中有f方法,哪你可以调用a.f();,类b从a继承,你可以(b as a).f();如果b中没有f方法,哪这代码还怎么运行?
      

  3.   

    要能设成private我还用问吗,override不能更改modifier。
      

  4.   

    要不你在子类中写一个 new 子函数覆盖父类的方法。再加上 [obsolete] 属性提醒用户此方法不能用。在函数体里加上唯一一句话:throw new Exception("...");
      

  5.   

    基类是.net自身的类,我没法自己设计。