Shadows (Visual Basic)

Especifica que un elemento de programación declarado vuelve a declarar y oculta un elemento denominado de forma idéntica o un conjunto de elementos sobrecargados, en una clase base.

Comentarios

El propósito principal del sombreado (que también se conoce como ocultar por nombre) es conservar la definición de los miembros de clase. La clase base puede sufrir un cambio que cree un elemento con el mismo nombre que otro ya definido. Si sucede esto, el modificador Shadows fuerza a referencias a través de la clase para que se resuelvan en el miembro definido en lugar de hacerlo en el nuevo elemento de la clase base.

El sombreado y el reemplazo definen de nuevo un elemento heredado, pero existen diferencias significativas entre los dos enfoques. Para obtener más información, vea Sombrear en Visual Basic.

Reglas

  • Contexto de la declaración. Sólo puede utilizar Shadows en el nivel de clase. Esto significa que el contexto de la declaración para un elemento Shadows debe ser una clase, y no puede ser un archivo de código fuente, espacio de nombres, interfaz, módulo, estructura o procedimiento.

    Se puede declarar sólo un elemento de sombreado en una única instrucción de declaración.

  • Modificadores combinados. No se puede especificar Shadows junto con Overloads, Overrides o Static en la misma declaración.

  • Tipos de elementos. Puede hacer que cualquier tipo de elemento declarado prevalezca sobre cualquier otro tipo. Si sombrea una propiedad o procedimiento con otra propiedad o procedimiento, los parámetros y el tipo de valor devuelto no tienen que coincidir con los de la propiedad o procedimiento de la clase base.

  • Acceso. El elemento sombreado en la clase base no está disponible normalmente desde la clase derivada que lo sombrea. No obstante, se aplican las siguientes consideraciones.

    • Si el elemento de sombreado no es accesible desde el código que hace referencia a él, la referencia se resuelve como el elemento sombreado. Por ejemplo, si un elemento Private sombrea un elemento de clase base, el código que no tiene el permiso para obtener acceso al elemento Private obtiene acceso al elemento de clase base.

    • Si se sombrea un elemento, aún se podrá tener acceso al mismo mediante un objeto declarado con el tipo de la clase base. También puede tener acceso a él a través de MyBase.

El modificador Shadows se puede utilizar en estos contextos:

Class (Instrucción)

Const (Instrucción)

Declare (Instrucción)

Delegate (Instrucción)

Dim (Instrucción)

Enum (Instrucción)

Event (Instrucción)

Function (Instrucción)

Interface (Instrucción)

Property (Instrucción)

Structure (Instrucción)

Sub (Instrucción)

Vea también

Referencia

Shared (Visual Basic)

Static (Visual Basic)

Private (Visual Basic)

MustOverride (Visual Basic)

NotOverridable (Visual Basic)

Overloads (Visual Basic)

Overridable (Visual Basic)

Overrides (Visual Basic)

Conceptos

Me, My, MyBase y MyClass en Visual Basic

Fundamentos de la herencia (Visual Basic)

Sombrear en Visual Basic