Share via


Cómo: Pasar argumentos a un procedimiento por nombre (Visual Basic)

Cuando llama a un procedimiento Sub o Function, puede transferirle argumentos por nombre, sin tener en cuenta el orden en el que aparecen los parámetros correspondientes en la definición del procedimiento.

Los argumentos que se transfieren por nombre hacen que el código de llamada sea más fácil de leer porque proporcionan significado a los valores de los argumentos en la llamada al procedimiento. Si el procedimiento tiene parámetros opcionales, al transferir los argumentos por nombre, también resulta más fácil hacer un seguimiento de los argumentos que se están transfiriendo y de los que se están omitiendo.

Para obtener información sobre las reglas y restricciones necesarias para proporcionar argumentos por nombre, vea Pasar argumentos por posición o por nombre (Visual Basic).

Para pasar un argumento por nombre

  1. Examine el código fuente de la declaración del procedimiento para determinar la ortografía exacta de los nombres de parámetro.

  2. En el código de llamada, prepare la llamada al procedimiento de la manera habitual, con la lista de argumentos entre paréntesis detrás del nombre de procedimiento.

  3. En cada argumento que desee transferir, proporcione el nombre declarado del parámetro seguido de dos puntos y un signo igual (:=) y, a continuación, incluya el valor que está transfiriendo para el argumento.

  4. Puede proporcionar los argumentos con nombre en cualquier orden, pero debe proporcionar todos los argumentos posicionales antes de proporcionar cualquier argumento con nombre.

Ejemplo

En el ejemplo siguiente se muestra un procedimiento Sub con tres parámetros, y una instrucción Call (Instrucción, Visual Basic) que transfiere los argumentos a estos parámetros por nombre.

Sub studentInfo(ByVal name As String, 
       Optional ByVal age As Short = 0, 
       Optional ByVal birth As Date = #1/1/2000#)

  Debug.WriteLine("Name = " & name & 
                "; age = " & CStr(age) & 
                "; birth date = " & CStr(birth))
End Sub
Call studentInfo(age:=19, birth:=#9/21/1981#, name:="Mary")

Cuando pasa los argumentos por nombre, no tiene que proporcionarlos en el mismo orden en el que los declara el procedimiento.

Compilar el código

Asegúrese de que el nombre del parámetro en la lista de argumentos coincide exactamente con el nombre declarado por el procedimiento.

Vea también

Tareas

Cómo: Pasar argumentos a un procedimiento (Visual Basic)

Referencia

Optional (Visual Basic)

ParamArray (Visual Basic)

Conceptos

Procedimientos en Visual Basic

Argumentos y parámetros de procedimiento (Visual Basic)

Pasar argumentos por valor y por referencia (Visual Basic)

Pasar argumentos por posición o por nombre (Visual Basic)

Parámetros opcionales (Visual Basic)

Matrices de parámetros (Visual Basic)