Shadows (Visual Basic)

Especifica que un elemento de programación declarado declara y oculta un elemento con el mismo nombre, o 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 crea un elemento con el mismo nombre que el que ya ha definido. Si esto sucede, el modificador obliga a que las referencias a través de la clase se resuelvan en el miembro definido, en lugar de en Shadows el nuevo elemento de clase base.

Aunque tanto el sombreado como el reemplazo redefinen elementos heredados, existen diferencias significativas entre ambos conceptos. Para obtener más información, vea Shadowing in Visual Basic.

Reglas

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

    Solo puede declarar un elemento de sombra en una única instrucción de declaración.

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

  • Tipos de elemento. Puede reemplazar cualquier tipo de elemento declarado con cualquier otro tipo. Si se sombrea una propiedad o un 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 el procedimiento de clase base.

  • Acceso. El elemento sombreado de la clase base normalmente no está disponible desde dentro de la clase derivada que lo sombrea. Sin embargo, se aplican las consideraciones siguientes.

    • Si el elemento de sombreado no es accesible desde el código que hace referencia a él, la referencia se resuelve en el elemento sombreado. Por ejemplo, si un elemento sombra un elemento de clase base, el código que no tiene permiso para tener acceso al elemento accede al Private elemento de clase base en su Private lugar.

    • Si sombrea un elemento, todavía puede acceder al elemento sombreado a través de un objeto declarado con el tipo de la clase base. También puede acceder a él a través de MyBase .

El modificador Shadows se puede utilizar en los contextos siguientes:

Consulta también