Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Especifica que um elemento de programação declarado redeclare e oculta um elemento nomeado de forma idêntica ou um conjunto de elementos sobrecarregados em uma classe base.
Observações
A principal finalidade do sombreamento (que também é conhecido como ocultar por nome) é preservar a definição dos membros da classe. A classe base pode passar por uma alteração que cria um elemento com o mesmo nome que você já definiu. Se isso acontecer, o modificador Shadows força as referências por meio de sua classe a serem resolvidas para o membro que você definiu, em vez de para o novo elemento de classe base.
O sombreamento e a substituição redefinem um elemento herdado, mas há diferenças significativas entre as duas abordagens. Para obter mais informações, consulte Sombreamento no Visual Basic.
Regras
Contexto da Declaração. Você só pode usar
Shadowsno nível da classe. Isso significa que o contexto de declaração de umShadowselemento deve ser uma classe e não pode ser um arquivo de origem, namespace, interface, módulo, estrutura ou procedimento.Você pode declarar apenas um elemento de sombreamento em uma única instrução de declaração.
Modificadores combinados. Você não pode especificar
Shadowsjunto comOverloads,OverridesouStaticna 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 precisarão corresponder a eles na propriedade ou procedimento da classe base.
Acessar. O elemento sombreado na classe base normalmente não está disponível de dentro da classe derivada que o sombreia. No entanto, as considerações a seguir se aplicam.
Se o elemento de sombreamento não estiver acessível do código que se refere a ele, a referência será resolvida para o elemento sombreado. Por exemplo, se um
Privateelemento sombrear um elemento de classe base, o código que não tem permissão para acessar oPrivateelemento acessará o elemento de classe base.Se você sombrear um elemento, ainda poderá acessar o elemento sombreado por meio de um objeto declarado com o tipo da classe base. Você também pode acessá-lo por meio
MyBasede .
O Shadows modificador pode ser usado nestes contextos: