请教

解决方案 »

  1.   

    那你就在子类写一个和基类同参数不同名的private 的方法,调用基类的public的方法,返回同样的结果是一个折中的办法
    基类:public int aaa(string str)
    {}
    子类:private int bbb(string str)
    {
         return base.aaa(str);
    }
      

  2.   

    public class BaseClass
    {
    public void DoSomething()
    {
    }
    }
    public class DeriveCalss : BaseClass
    {
    private new void DoSomething()
    {
    }
    }
      

  3.   

    lingfenglikeyou(除了干活什么都不做)  的方法是不可行的,作的时候你会发现,你仍然可以访问基类的公有成员。
    这种继承来的访问属性是不可改变的,如果你明白如果你能明白继承的原理你就会明白,如果派生类把基类的成员变成了私有,那么也就不可能实现基类的引用可以访问派生类中包含的基类那一部分成员了,所以,你的这一想法是不可能实现的,不过可以将其隐藏[Browse...]属性可以实现,在DSDN中有相关的文章,你搜索一下吧!
      

  4.   

    BlueDog() ( ) 信誉:98  的方法也是不可行的,只是改变了引用的方向,如果你用基类的引用,你会发现,照样可以引用原来的公用成员。
      

  5.   

    重写(override)这个方法,令其被调用时抛出NotSuppotedException异常。
      

  6.   

    楼主的这个问题是不成立的,你在基类中有一个public的方法,那子类中干嘛要改成private,如果通过直接实例化private是不能使用的,这样做一点意义都没有。
      

  7.   

    Ivony() ( ) 信誉:100  2006-02-27 08:29:00  得分: 0  
     
     
       重写(override)这个方法,令其被调用时抛出NotSuppotedException异常。
      
     
    支持这个。