Partager via


Ombres (Visual Basic)

Spécifie qu’un élément de programmation déclaré redeclare et masque un élément nommé identiquement, ou un ensemble d’éléments surchargés, dans une classe de base.

Remarques

L’objectif principal de l’ombre (également appelé masquage par nom) est de conserver la définition de vos membres de classe. La classe de base peut subir une modification qui crée un élément portant le même nom que celui que vous avez déjà défini. Dans ce cas, le Shadows modificateur force les références à travers votre classe à être résolues vers le membre que vous avez défini, plutôt qu'au nouvel élément de la classe de base.

L’ombre et la substitution redéfinissent un élément hérité, mais il existe des différences significatives entre les deux approches. Pour plus d’informations, consultez l’ombre dans Visual Basic.

Règles

  • Contexte de déclaration. Vous ne pouvez utiliser Shadows qu’au niveau de la classe. Cela signifie que le contexte de déclaration d’un Shadows élément doit être une classe et ne peut pas être un fichier source, un espace de noms, une interface, un module, une structure ou une procédure.

    Vous ne pouvez déclarer qu’un seul élément d’ombre dans une instruction de déclaration unique.

  • Modificateurs combinés. Vous ne pouvez pas spécifier Shadows ensemble avec Overloads, Overridesou Static dans la même déclaration.

  • Types d’éléments. Vous pouvez masquer n’importe quel type d’élément déclaré avec n’importe quel autre type. Si vous ombrez une propriété ou une procédure avec une autre propriété ou procédure, les paramètres et le type de retour n’ont pas besoin de correspondre à ceux de la propriété ou de la procédure de classe de base.

  • Accéder. L’élément ombré de la classe de base n’est normalement pas disponible à partir de la classe dérivée qui l’ombre. Toutefois, les considérations suivantes s’appliquent.

    • Si l’élément d’ombre n’est pas accessible à partir du code qui y fait référence, la référence est résolue en l’élément ombré. Par exemple, si un Private élément ombrage un élément de classe de base, le code qui n’a pas l’autorisation d’accéder à l’élément de classe de base accède à la Private place.

    • Si vous ombrez un élément, vous pouvez toujours accéder à l’élément ombré via un objet déclaré avec le type de la classe de base. Vous pouvez également y accéder via MyBase.

Le Shadows modificateur peut être utilisé dans ces contextes :

Voir aussi