Я пишу библиотеку, которую будут использовать другие разработчики в нашей компании. Базовый класс конечного автомата имеет ReadOnlyCollection<T>
разрешенных состояний и т. Д. Разработчики должны наследовать от этого класса и устанавливать разрешенные состояния.Установка объекта только для чтения из производного класса
Я хочу ограничить их инициализацией ReadOnlyCollection<T>
в конструкторе их производных классов и не в состоянии его модифицировать позже.
Если я объявляю ReadOnlyCollection<T>
как свойство только для чтения в базовом классе, это не сработает, поскольку он не может быть изменен в конструкторе производного класса.
Я предполагаю, что это не очень редкий сценарий. Любой элегантный способ добиться этого, если разработчики переопределяют ReadOnlyCollection<T>
?