Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Especifica los parámetros que espera un procedimiento cuando se llama a . Varios parámetros están separados por comas. A continuación se muestra la sintaxis de un parámetro.
Sintaxis
[ <attributelist> ] [ Optional ] [{ ByVal | ByRef }] [ ParamArray ]
parametername[( )] [ As parametertype ] [ = defaultvalue ]
Partes
attributelist
Opcional. Lista de atributos que se aplican a este parámetro. Debe incluir la 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 ni reasignar el elemento variable subyacente al 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 manera que el propio código de llamada puede.
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 que el código de llamada pase 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 Optional los parámetros. Cualquier expresión constante o constante que se evalúe como el tipo de datos del parámetro. Si el tipo es Object, o una clase, interfaz, matriz o estructura, el valor predeterminado solo puede ser Nothing.
Observaciones
Los parámetros están rodeados por paréntesis y separados por comas. Un parámetro se puede declarar 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, consulte Differences Between Parameters and Arguments, (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 no esvariable (una constante, literal, enumeración o expresión), es imposible que cualquier código lo cambie. Si es un elemento variable (una variable declarada, un campo, una propiedad, un elemento de matriz o un 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 ByRefun elemento variable, 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 parámetros, puede seguir usando paréntesis que incluye una lista vacía. Esto mejora la legibilidad del código aclarando que el elemento es un procedimiento.
Parámetros opcionales. Si usa el
Optionalmodificador en un parámetro, todos los parámetros subsiguientes de la lista también deben ser opcionales y declararse mediante elOptionalmodificador .Cada declaración de parámetro opcional debe proporcionar la
defaultvaluecláusula .Para obtener más información, vea Parámetros opcionales.
Matrices de parámetros. Debe especificar
ByValpara unParamArrayparámetro .No puede usar ni
OptionalParamArrayen la misma lista de parámetros.Para obtener más información, vea Matrices de parámetros.
Mecanismo de paso. El mecanismo predeterminado para cada argumento es
ByVal, lo que significa que el procedimiento no puede cambiar el elemento de variable subyacente. Sin embargo, si el elemento es un tipo de referencia, el procedimiento puede modificar el contenido o los miembros del objeto subyacente, aunque no pueda reemplazar ni reasignar el propio objeto.Nombres de parámetro. Si el tipo de datos del parámetro es una matriz, siga inmediatamente
parameternameentre paréntesis. Para obtener más información sobre los nombres de parámetro, vea Nombres de elementos declarados.
Ejemplo
En el ejemplo siguiente se muestra un Function procedimiento 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?")