Compartilhar via


Sombras (Visual Basic)

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 Shadows no nível da classe. Isso significa que o contexto de declaração de 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. Você não pode especificar Shadows junto 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 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 Private elemento sombrear um elemento de classe base, o código que não tem permissão para acessar o Private elemento 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:

Consulte também