Shadows

Mise à jour : novembre 2007

Spécifie qu'un élément de programmation déclaré redéclare et masque un élément de programmation de même nom ou définit un ensemble d'éléments surchargés, dans une classe de base.

Notes

Le principal objectif de l'occultation (qui est également appelée masquage par nom) est de conserver la définition de vos membres de classe. La classe de base peut subir un changement qui crée un élément du même nom que celui que vous avez déjà défini. Dans ce cas, le modificateur Shadows oblige les références de votre classe à être résolues vers le membre que vous avez défini, et non vers le nouvel élément de la classe de base.

L'occultation et la substitution redéfinissent toutes les deux un élément hérité, mais les deux approches sont significativement différentes. Pour plus d'informations, consultez Occultation dans Visual Basic.

Règles

  • Contexte de déclaration. Vous pouvez utiliser Shadows seulement au niveau de la classe. Cela signifie que le contexte de déclaration pour 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 élément d'occultation dans une seule instruction de déclaration.

  • 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 masquez une propriété ou une procédure avec une autre propriété ou procédure, les paramètres et le type retourné n'ont pas besoin de correspondre à ceux de la propriété ou de la procédure de la classe de base.

  • Accès. L'élément occulté dans la classe de base n'est normalement pas disponible dans la classe dérivée qui l'occulte. Cependant, les considérations suivantes s'appliquent :

    • Si l'élément d'occultation n'est pas disponible à partir du code qui s'y réfère, la référence correspond à l'élément occulté. Par exemple, si un élément Private occulte un élément de classe de base, le code qui n'est pas autorisé à accéder à l'élément Private accède à la place à l'élément de classe de base.

    • Si vous occultez un élément, vous pouvez toujours accéder à l'élément occulté par l'intermédiaire d'un objet déclaré avec le type de classe de base. Vous pouvez également y accéder par l'intermédiaire de MyBase.

Le modificateur Shadows peut être utilisé dans les contextes suivants :

Class, instruction

Const, instruction

Declare, instruction

Delegate, instruction

Dim, instruction

Enum, instruction

Event, instruction

Function, instruction

Interface, instruction

Property, instruction

Structure, instruction

Sub, instruction

Voir aussi

Concepts

Occultation dans Visual Basic

Référence

Shared (Visual Basic)

Static (Visual Basic)

Private (Visual Basic)

MyBase

MustOverride

NotOverridable

Overloads

Overridable

Overrides