Справочник по языку С# в MSDN определяет "protected internal" как "Доступ ограничен текущей сборкой или типами, производными от содержащего класса". Но с семантической точки зрения "защищенный внутренний" звучит для меня как "как защищенный, так и внутренний", что означает, что член будет доступен только для тех производных классов, которые находятся в одной сборке. Есть ли какой-либо модификатор доступа, который имеет значение с тем же эффектом?
Защищенный внутренний
Ответ 1
С# не имеет такого модификатора доступа.
Однако CLR поддерживает его, так как уровень доступа FamANDAssem (protected internal
является FamorAssem)
Ответ 2
Нет, такого модификатора нет. Internal
должно быть достаточно, так как вы должны быть в состоянии узнать из других типов в той же самой сборке, что законно для вызова, а что нет.