У меня есть следующий базовый класс:
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
перед установкой, но это не помогло. Как это исправить?
UPDATE:
Базовый класс должен убедиться, что подклассы предоставляют значение для Var
во время создания. Поэтому мне нужно объявить сеттер в базовом классе.
В качестве альтернативы я мог бы объявить закрытую переменную-член, чтобы сделать это, и удалить установщик, но это не вариант, как обсуждалось здесь .