У меня есть абстрактный класс, который определяет get, но не set, потому что в отношении этого абстрактного класса ему требуется только get.
public abstract BaseClass
{
public abstract double MyPop
{get;}
}
Однако в некоторых классах-вывода мне нужно свойство set, поэтому я рассматриваю эту реализацию
public class DClass: BaseClass
{
public override double MyPop
{get;set;}
}
Проблема в том, что я получил ошибку компиляции, заявив, что
*. set: не может переопределить, потому что *. не имеет переопределяемого аксессуара.
Хотя я считаю, что вышеупомянутый синтаксис совершенно закончен.
Любая идея по этому поводу? Обходной путь или почему это так?
Изменить: Единственный подход, который я могу представить, - это поставить как get, так и set, как в абстрактном классе, и пусть подкласс выдает NotImplementedException, если set вызывается, а это не необходимо. Это что-то мне не нравится, а также специальный метод setter.