Shadows (Visual Basic)
Указывает, что объявленный элемент программирования редекларирует и скрывает идентичный именованный элемент или набор перегруженных элементов в базовом классе.
Замечания
Основная цель тени (которая также называется скрытием по имени) заключается в сохранении определения членов класса. Базовый класс может пройти изменение, создающее элемент с тем же именем, что и уже определенный. В этом случае Shadows
модификатор принудительно ссылается на класс, который необходимо разрешить определенному элементу, а не к новому элементу базового класса.
Сокрытие и переопределение заменяют наследуемый элемент, но между этими подходами существуют значительные различия. Дополнительные сведения см. в разделе "Тени" в Visual Basic.
Правила
Контекст объявления. Можно использовать
Shadows
только на уровне класса. Это означает, что контекст объявления дляShadows
элемента должен быть классом и не может быть исходным файлом, пространством имен, интерфейсом, модулем, структурой или процедурой.Можно объявить только один элемент тени в одной инструкции объявления.
Объединенные модификаторы. Нельзя указать
Shadows
вместе сOverloads
,Overrides
илиStatic
в том же объявлении.Типы элементов. Можно скрыть любой тип объявленного элемента, используя любой другой тип. Если вы тени свойства или процедуры с другим свойством или процедурой, параметры и тип возвращаемого значения не должны соответствовать свойствам базового класса или процедуре.
Доступа к. Теневой элемент базового класса обычно недоступен в производном классе, который тенирует его. Однако применяются следующие рекомендации.
Если элемент тени недоступен из кода, ссылающегося на него, ссылка разрешается в теневой элемент. Например, если
Private
элемент тени элемента базового класса, код, который не имеет разрешения на доступPrivate
к элементу базового класса, обращается к элементу базового класса.Если вы тени элемента, вы по-прежнему можете получить доступ к теневым элементу через объект, объявленный типом базового класса. Вы также можете получить доступ к нему через
MyBase
.
Модификатор Shadows
можно использовать в следующих контекстах: