加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 仅覆盖Get访问者

发布时间:2020-12-16 00:11:24 所属栏目:百科 来源:网络整理
导读:我有一个抽象类: abstract class ClassBase { public abstract string Test { get; } } 我想得到它,顺便添加一个set accesor class ClassDerive : ClassBase { string _s; public override string Test { get { return _s; } set { _s = value; } } } 我不
我有一个抽象类:

abstract class ClassBase
    {
        public abstract string Test { get; }
    }

我想得到它,顺便添加一个set accesor

class ClassDerive : ClassBase
    {
        string _s;

        public override string Test
        {
            get { return _s; }
            set { _s = value; }
        }
    }

我不能这样做因为我可能不会覆盖set

class ClassDerive2 : ClassBase
    {
        string _s;

        public string Test
        {
            override get { return _s; }
            set { _s = value; }
        }
    }

语法错误

class ClassDerive3 : ClassBase
{
    string _s;

    public override string ClassBase.Test
    {
        get { return _s; }
    }

    public string Test
    {
        set { _s = value; }
    }
}

语法错误

任何的想法 ???

谢谢

解决方法

如果首先在类型中定义了只读属性,则以后不能将其更改为派生类中的读/写属性.这就是.NET的工作原理,无法改变.

另一方面,如果定义具有只读属性的接口,则稍后可以在具有可写属性的类中实现该接口.

如果您想分享您想要实现的目标,也许我们可以提出一个有效的设计并且可以编译:)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读