Закрытый защищенный (Visual Basic)
Комбинация ключевых слов Private Protected
является модификатором доступа к члену. Элемент Private Protected
доступен всеми элементами в его содержающем классе, а также типами, производными от содержащего класса, но только в том случае, если они найдены в содержащей сборке.
Можно указать Private Protected
только для членов классов; нельзя применять Private Protected
к членам структуры, так как структуры не могут наследоваться.
Модификатор Private Protected
доступа поддерживается Visual Basic 15.5 и более поздних версий. Чтобы использовать его, можно добавить следующий элемент в файл проекта Visual Basic (*.vbproj). Если visual Basic 15.5 или более поздней версии установлен в системе, он позволяет воспользоваться всеми функциями языка, поддерживаемыми последней версией компилятора Visual Basic:
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
Дополнительные сведения см. в разделе "Настройка версии языка Visual Basic".
Примечание.
В Visual Studio выбор справки F1 предоставляет справку private protected
для частных или защищенных. Интегрированная среда разработки выбирает один маркер под курсором, а не составное слово.
Правила
- Контекст объявления. Можно использовать
Private Protected
только на уровне класса. Это означает, что контекст объявления дляProtected
элемента должен быть классом и не может быть исходным файлом, пространством имен, интерфейсом, модулем, структурой или процедурой.
Поведение
Уровень доступа. Весь код в классе может получить доступ к его элементам. Код в любом классе, производный от базового класса и содержащийся в одной сборке, может получить доступ ко всем
Private Protected
элементам базового класса. Однако код в любом классе, производный от базового класса и содержащийся в другой сборке, не может получить доступ к элементам базового классаPrivate Protected
.Модификаторы доступа. Ключевое слово, указывающие уровень доступа, называются модификаторами доступа. Сравнение модификаторов доступа см. в разделе "Уровни доступа" в Visual Basic.
Модификатор Private Protected
можно использовать в следующих контекстах:
Оператор класса вложенного класса
Оператор делегата, вложенного в класс
Оператор перечисления перечисления, вложенного в класс
Оператор интерфейса интерфейса, вложенный в класс
Оператор структуры структуры, вложенной в класс