Compartir a través de


Lista de parámetros

Actualización: noviembre 2007

Especifica los parámetros que un procedimiento espera cuando se le llama. Los parámetros múltiples se separan por comas. A continuación, se muestra la sintaxis para un parámetro.

[ <attributelist> ] [ Optional ] [{ ByVal | ByRef }] [ ParamArray ] 
parametername[( )] [ As parametertype ] [ = defaultvalue ]

Partes

  • attributelist
    Opcional. Lista de atributos que se aplican a este parámetro. Debe incluir Lista de atributos entre corchetes angulares ("<" y ">").

  • Optional
    Opcional. Especifica que este parámetro no es necesario cuando se llama al procedimiento.

  • ByVal
    Opcional. Especifica que el procedimiento no puede reemplazar o reasignar el elemento de variable subyacente del argumento correspondiente en el código de llamada.

  • ByRef
    Opcional. Especifica que el procedimiento puede modificar el elemento de variable subyacente en el código de llamada de la misma forma que puede hacerlo el propio código de llamada.

  • ParamArray
    Opcional. Especifica que el último parámetro de la lista de parámetros es una matriz opcional de elementos del tipo de datos especificado. Esto permite al código de llamada proporcionar un número arbitrario de argumentos al procedimiento.

  • parametername
    Obligatorio. Nombre de la variable local que representa el parámetro.

  • parametertype
    Obligatorio si Option Strict es On. Tipo de datos de la variable local que representa el parámetro.

  • defaultvalue
    Obligatorio para los parámetros Optional. Cualquier constante o expresión constante que se evalúa como tipo de datos del parámetro. Si el tipo es Object, o una clase, interfaz, matriz o estructura, el valor predeterminado sólo puede ser Nothing.

Comentarios

Los parámetros están incluidos entre paréntesis y separados por comas. Se puede declarar un parámetro con cualquier tipo de datos. Si no especifica parametertype, el valor predeterminado es Object.

Cuando el código de llamada llama al procedimiento, pasa un argumento a cada parámetro necesario. Para obtener más información, vea Diferencias entre parámetros y argumentos.

El argumento que el código de llamada pasa a cada parámetro es un puntero a un elemento subyacente en el código de llamada. Si este elemento es no modificable (una constante, literal, enumeración o expresión), no lo podrá cambiar ningún código. Si es un elemento variable (una variable declarada, campo, propiedad, elemento de matriz o elemento de estructura), el código de llamada puede cambiarlo. Para obtener más información, vea Diferencias entre argumentos modificables y no modificables.

Si se pasa un elemento variable ByRef, el procedimiento también puede cambiarlo. Para obtener más información, vea Diferencias entre pasar un argumento por valor y por referencia.

Reglas

  • Paréntesis. Si especifica una lista de parámetros, debe incluirla entre paréntesis. Si no hay ningún parámetro, puede utilizar paréntesis para incluir una lista vacía. Esto mejora la legibilidad de su código clarificando que el elemento es un procedimiento.

  • Parámetros opcionales. Si utiliza el modificador Optional en un parámetro, todos los parámetros posteriores de la lista deben ser también opcionales y declararse mediante el modificador Optional.

    Cada declaración de parámetro opcional debe proporcionar la cláusula defaultvalue.

  • Matrices de parámetros. Debe especificar ByVal para un parámetro ParamArray.

    No es posible utilizar Optional y ParamArray en la misma lista de parámetros.

  • Mecanismo para pasar argumentos. El mecanismo predeterminado para cada argumento es ByVal, lo que quiere decir que el procedimiento no puede cambiar el elemento variable subyacente. No obstante, si el elemento es un tipo de referencia, el procedimiento puede modificar el contenido o los miembros del objeto subyacente, incluso aunque no pueda reemplazar o reasignar el objeto en sí.

  • Nombres de parámetros. Si el tipo de datos del parámetro es una matriz, deben ir unos paréntesis justo detrás de parametername. Para obtener más información sobre nombres de parámetros, vea Nombres de elementos declarados.

Ejemplo

En el ejemplo siguiente se muestra un procedimiento Function que define dos parámetros.

Public Function howMany(ByVal ch As Char, ByVal st As String) As Integer
End Function
Dim howManyA As Integer = howMany("a"c, "How many a's in this string?")

Vea también

Tareas

Cómo: Interrumpir y combinar instrucciones en código

Conceptos

Aplicación de los atributos

Referencia

Instrucción Function (Visual Basic)

Instrucción Sub (Visual Basic)

Declare (Instrucción)

Structure (Instrucción)

Option Strict (Instrucción)

DllImportAttribute

Otros recursos

Atributos en Visual Basic