基类的公共属性只想被基类拥有 但不想被子类继承 如何做?

解决方案 »

  1.   

    没明白你的意思
    基类的方法和 属性都会被子类继承的呀 除非private
    但是我想要外面的程序能访问这个类的属性 又不能被子类继承
      

  2.   

    sealed 指定属性不能被继承。
      

  3.   

    hj5182001(天行健) thanks
    如何用
    我试了 总是报错
      

  4.   

    你的意思是不是用 new 来隐藏。
      

  5.   

    不是new 就是基类的属性自己才能调用
    PS:new能用在属性上么?
      

  6.   

    要不就整个类都不让被继承.用Seal关键字来声明类.可以实现...
      

  7.   

    to koy0755(koy)
    可是不能整个类不被继承啦  其他方法都需要被继承to jun1111(@一夜只@是七次狼@) 
    重写一个类的话 这样和设计的思想不符 代码冗余
      

  8.   

    public 任何时候都能继承的
      

  9.   

    换一种思路如何?防止基类的属性不被其它模块的子类继承把属性设置成 internal
      

  10.   

    public class ParentClass
        {
            public virtual string Hello
            {
                get
                {
                    return "Hello";
                }
            }
        }    public class Test: ParentClass
        {
            public override sealed string Hello
            {
                get
                {
                    return base.Hello;
                }
            }
        }
      

  11.   

    子类再从Test class继承就不会继承Hello属性了
      

  12.   

    对阿,sealed不就完了么?c#想的还是很周到的
      

  13.   

    private
    但是只能保证不被子类直接调用
    继承本身就复制了基类
    不能只继承1部分,或者可以把不想子类用的东西另外写1个类