Sombras
Especifica que um elemento de programação declarado redeclara e oculta um elemento de nome idêntico, ou conjunto de elementos sobrecarregados, na classe base.
Comentários
O pricipal propósito do sombreamento (também conhecido como ocultar pelo nome) é preservar a definição de seus membros de classe.A classe base pode passar por uma mudança que cria um elemento com o mesmo nome que o daquele que você já definiu.Se isto acontecer, o modificador Shadows obriga referências através da sua classe a serem resolvidas ao membro que você definiu, em vez de ser ao novo elemento da classe base.
Tanto o sombreamento quanto a desautorização redefinem um elemento herdado, mas há diferenças significativas entre as duas abordagens.Para obter mais informações, consulte Sombreamento em Visual Basic.
Regras
Contexto da Declaração. Você pode usar Shadows somente em nível de classe.Isso significa que o contexto da declaração para um elemento Shadows deve ser uma classe ou estrutura, e não um arquivo fonte, namespace, interface, módulo, estrutura ou procedimento.
Você pode declarar apenas um elemento de sombreamento numa única declaração de declaração.
Modificadores Combinados. Você não pode especificarShadowsjunto com Overloads,Overrides ou Static na mesma declaração.
Tipos de elementos Você pode sombrear qualquer tipo de elemento declarado com qualquer outro tipo.Se você sombrear uma propriedade ou procedimento com outra propriedade ou procedimento, os parâmetros e o tipo de retorno não têm de se equiupararem na propriedade ou procedimento da classe base.
Acessando. O elemento sombreado na classe base normalmente está indisponível de dentro da classe derivado que o sombreia.Entretanto, as seguintes condições se aplicam.
Se o elemento sombreado não está acessível do código referindo-se a ele, a referência é resolvida para o elemento sombreado.Por exemplo, se um elemento Private sombreia um elemento da classe base, o código que não possui permissão para acessar o elemento Private acessa o elemento da classe base em vez disso.
Se você sombrear um elemento, você ainda pode acessar o elemento sombreado através de um objeto declarado com o tipo da classe base.Você também pode acessá-lo através de MyBase.
O modificador Shadows pode ser utilizado nestes contextos: