Overloads

Actualización: noviembre 2007

Especifica que una propiedad o procedimiento vuelve a declarar una o varias propiedades o procedimientos existentes con el mismo nombre.

Comentarios

Sobrecarga es la práctica de proporcionar más de una definición para una propiedad o nombre de procedimiento determinados en el mismo ámbito. La nueva declaración de una propiedad o un procedimiento con una firma diferente se llama a veces ocultación por firma.

Reglas

  • Contexto de la declaración. Sólo puede utilizarse Overloads en una propiedad o instrucción de declaración de procedimiento.

  • Modificadores combinados. No se puede especificar Overloads junto con Shadows en la misma declaración de procedimiento.

  • Diferencias requeridas. La firma en esta declaración debe ser diferente de la firma de cada propiedad o procedimiento que sobrecarga. La firma comprende la propiedad o el nombre de procedimiento junto con lo siguiente:

    • el número de parámetros

    • el orden de los parámetros

    • los tipos de datos de los parámetros

    • el número de parámetros de tipo (para un procedimiento genérico)

    • el tipo de valor devuelto (sólo para un procedimiento de operador de conversión)

    Todas las sobrecargas deben tener el mismo nombre pero cada una debe diferir de todas las demás en una o varias de las consideraciones anteriores. Esto permite al compilador distinguir qué versión debe utilizar cuando el código llama a la propiedad o al procedimiento.

  • Diferencias no permitidas. No está permitido cambiar uno o varios de los siguientes elementos para sobrecargar una propiedad o un procedimiento, porque no forman parte de la firma:

    • si devuelve o no un valor (para un procedimiento)

    • el tipo de datos del valor devuelto (excepto para un operador de conversión)

    • los nombres de los parámetros o parámetros de tipo

    • las restricciones de los parámetros de tipo (para un procedimiento genérico)

    • las palabras clave de modificadores de parámetros (como ByRef o Optional)

    • las palabras clave de modificadores de propiedades o procedimientos (como Public o Shared)

  • Modificador opcional. No es necesario utilizar el modificador Overloads cuando se definen varias propiedades o procedimientos sobrecargados en la misma clase. Sin embargo, si utiliza Overloads en una de las declaraciones, debe utilizarlo en todas ellas.

  • **Sombreado y sobrecarga.**Overloads también se puede utilizar para sombrear un miembro existente o un conjunto de miembros sobrecargados, en una clase base. Cuando se utiliza Overloads de esta forma, se declara la propiedad o el método con el mismo nombre y la misma lista de parámetros que el miembro de clase base, y no se proporciona la palabra clave Shadows.

El modificador Overloads se puede utilizar en estos contextos:

Function (Instrucción)

Operator (Instrucción)

Property (Instrucción)

Sub (Instrucción)

Vea también

Tareas

Cómo: Definir un operador de conversión

Conceptos

Sobrecarga de procedimientos

Tipos genéricos en Visual Basic

Procedimientos de operador

Referencia

Shadows