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的工作原理,无法改变.
另一方面,如果定义具有只读属性的接口,则稍后可以在具有可写属性的类中实现该接口. 如果您想分享您想要实现的目标,也许我们可以提出一个有效的设计并且可以编译:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |