Overloads (Visual Basic)

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

Comentarios

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

Reglas

  • Contexto de declaración. Solo puede usar Overloads en una instrucción de declaración de propiedad o procedimiento.

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

  • Diferencias requeridas. La firma de esta declaración debe ser diferente de la firma de cada propiedad o procedimiento que sobrecarga. La firma incluye el nombre de propiedad o procedimiento más 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 (solo 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 uno o varios de los aspectos anteriores. Esto permite al compilador distinguir qué versión debe utilizar cuando el código llama a la propiedad o el procedimiento.

  • Diferencias no permitidas. El cambio de uno o varios de los siguientes aspectos no es válido 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 en los parámetros de tipo (para un procedimiento genérico)

    • palabras clave de modificador de parámetro (como ByRef o Optional)

    • palabras clave de modificador de propiedad o procedimiento (como Public o Shared)

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

  • Sombras y sobrecargas. Overloads también se puede usar para sombrer un miembro existente, o conjunto de miembros sobrecargados, en una clase base. Al utilizar Overloads de esta forma, 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 proporciona la palabra clave Shadows.

Si usa Overrides, el compilador agrega de forma implícita Overloads para que las API de la biblioteca trabajen más fácilmente con C#.

El modificador Overloads se puede utilizar en los contextos siguientes:

Consulta también