Технически это не имеет значения, если вы создаете конструктор public
вместо protected
в абстрактном классе. Доступность / видимость конструктора все та же: тот же класс или производные классы. Два ключевых слова имеют неразличимый эффект для всех намерений и целей.
Итак, этот выбор зависит только от стиля: наберите protected
, чтобы удовлетворить объектно-ориентированных подкованных людей.
Reflection по умолчанию будет включать конструктор, только когда он равен public
, но вы все равно не можете вызвать этот конструктор.
IntelliSense покажет конструктор public
при вводе new
, но вы все равно не сможете вызвать этот конструктор.
Метаданные сборки будут отражать тот факт, что конструктор является открытым или защищенным.