У меня есть абстрактный класс, который определяет 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
и это не обязательно. Это то, что мне не нравится, а также специальный метод установки .