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émentShadows
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
avecOverloads
,Overrides
ouStatic
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émentPrivate
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 :