Sombras (Visual Basic)

Especifica que um elemento de programação declarado redeclariza e oculta um elemento com nome idêntico, ou conjunto de elementos sobrecarregados, em uma classe base.

Observações

O principal objetivo do sombreamento (que também é conhecido como esconder pelo nome) é preservar a definição dos membros da sua classe. A classe base pode sofrer uma alteração que cria um elemento com o mesmo nome que um que você já definiu. Se isso acontecer, o modificador forçará as Shadows referências através de sua classe a serem resolvidas para o membro que você definiu, em vez de para o novo elemento de classe base.

Tanto o sombreamento quanto 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ê pode usar Shadows apenas no nível da classe. Isso significa que o contexto da declaração para um Shadows elemento 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. Não é possível especificar Shadows juntamente com Overloads, Overridesou 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 precisarão corresponder aos da propriedade ou procedimento da classe base.

  • Acesso. O elemento sombreado na classe base normalmente não está disponível de dentro da classe derivada que o sombreia. No entanto, aplicam-se as seguintes considerações.

    • Se o elemento de sombreamento não estiver acessível a partir do código referente a ele, a referência será resolvida para o elemento sombreado. Por exemplo, se um Private elemento sombreia um elemento de classe base, o código que não tem permissão para acessar o Private elemento acessa 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 através do MyBase.

O Shadows modificador pode ser usado nestes contextos:

Consulte também