【发布时间】:2012-01-31 04:06:56
【问题描述】:
我有以下基类:
abstract class Base
{
public abstract object Var
{
get;
protected set;
}
}
还有这个派生类:
class Derived : Base
{
public override object Var
{
get {//code here
}
set {//code here -- I get error here!
}
}
}
但是我收到了这个错误:
覆盖“受保护”继承成员“Var”时无法更改访问修饰符
我尝试在设置之前添加protected 和private 关键字,但没有帮助。我该如何解决?
更新:
基类必须确保子类在创建时为Var 提供值。所以我需要在 Base 类中声明 setter。
或者,我可以声明一个私有成员变量来执行此操作并删除 setter,但这不是here 讨论的选项。
【问题讨论】:
标签: c# inheritance overriding protected