Методы, помеченные как virtual
, могут быть переопределены в производных классах. Одним из ограничений является то, что переопределяемые и переопределенные методы должны иметь одинаковую доступность. Таким образом, если виртуальный метод помечен как protected internal
, то переопределяющий метод также должен быть помечен как protected internal
(например, он не может быть помечен как просто protected
).
Поскольку Page
переопределяет класс Control.CreateChildControls()
, который помечен как protected internal
, тогда Page.CreateChildControls()
также должен быть помечен как protected internal
, но вместо этого помечен как protected
. Как это возможно?