Re: protected readonly в наследнике
От: HFTMan  
Дата: 19.02.21 17:28
Оценка: 4 (1) +2
Здравствуйте, Sharov, Вы писали:

S>Код выше не компилируется по причине того, что Field readonly. Я понимаю, что конструктор это такой спец.

S>метод для создания объектов, соотв. readonly поля возможно менять(по сути давать значения) только
S>в этих спец. методах. Но почему бы не разрешить это также делать и наследникам, т.е. ограниченному числу
S>других спец. методов? Чем это плохо, что я упускаю из виду?
 public abstract class Foo
    {
        protected int Field
        {
            get;
            init;
        }

        protected Foo()
        {
            Field = 5;
        }
    }

    public abstract class Bar : Foo
    {
        protected Bar() : base()
        {
            Field = 5; //нет ошибки
        }
    }
Отредактировано 19.02.2021 17:29 HFTMan . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.