你要的这个东西似乎不能通过这样的继承实现啊。如果你想要你的child 和 parent 有上面的表现的话,他们应该是从同一个祖先(类或者接口 )中继承而来,这个祖先拥有比你的child, parent更为原始的属性和方法。仔细分析你的需求,而后考虑是否重新规划你的类继承关系。

解决方案 »

  1.   

    不可以,这样违反了继承的规则,就算可以,那么,如果这样:Parent obj = new Child();obj.b ? 这里调用的是什么呢
      

  2.   

    你这样做就不需要继承了,直接写一个Child里面有AA不就可以了? 如果parent里有一部分要一部分不要,那么把要的一部分做成一个基类,让child parent都从这个基类继承。继承最重要的一点就是保持接口的一至,这样才可以保证多态的调用同一个函数。
      

  3.   

    实在需要的话可以这样:1.
    [Browsable(false)]
    [EditorBrowsable(EditorBrowsableState.Never)]
    public override int b
    {
    get{...}set{...}
    }
    对于a也同样。2.public int AA
    {
          get{return base.a;}
          set{base.a = value;}
    }
      

  4.   

    因为我Parent已经从别的c类继承来,又实现了很多属性方法,而Child需要它们,但只有个别的属性方法不需要,如果再从c类继承却只是把Parent拷贝一遍又删除个别不需要的属性方法,这哪是OOP的宗旨,它确实应该提供一些解决办法