n C #, мы не можем создать экземпляр абстрактного класса.Итак, имеет ли значение определение открытых конструкторов для абстрактных классов в C #?Или не писать публичные конструкторы для абстрактных классов из-за семантического значения?
Точно.Вы не хотите, чтобы пользователь видел доступный конструктор, но когда он его вызывает, он получает ошибку компиляции.
Определить внутренние конструкторы ??В (1) он говорит нам, что не определение внутренних защищенных конструкторов объясняется тем, что «конструкторы с публичной или защищенной внутренней видимостью предназначены для типов, которые могут быть созданы».Разве определение внутренних конструкторов для абстрактных классов не нарушает правила в (1)?
Я считаю, что правило 1 касается public
, а protected internal
правило 2 - protected
и internal
,Так что нет пересечения между ними.