Shadows

Actualización: noviembre 2007

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 las referencias mediante 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 hay 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 utilizarse 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, en su lugar, el código que no tiene 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

Conceptos

Sombrear en Visual Basic

Referencia

Shared (Visual Basic)

Static (Visual Basic)

Private (Visual Basic)

MyBase

MustOverride

NotOverridable

Overloads

Overridable

Overrides