У меня есть абстрактный класс, который определяет 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.