Partager via


Shadows (Visual Basic)

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

Notes

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 modificateur Shadows force la résolution des références par le biais de votre classe au membre que vous avez défini, au lieu du nouvel élément de classe de base.

L'occultation et la substitution redéfinissent toutes les deux un élément hérité, mais il existe des différences importantes entre ces deux approches. Pour plus d'informations, consultez Occultation dans Visual Basic.

Règles

  • Contexte de déclaration. Vous pouvez utiliser Shadows uniquement au niveau de la classe. Cela signifie que le contexte de déclaration d’un élément Shadows 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 avec Overloads, Overrides ou Static dans la même déclaration.

  • Types d'éléments. Vous pouvez occulter tout type d'élément déclaré par un 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ès. 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 élément Private occulte un élément de la classe de base, le code qui n'est pas autorisé à accéder à l'élément Private accède à la place à l'élément de la classe de base.

    • 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 modificateur Shadows peut être utilisé dans les contextes suivants :

Voir aussi