Cómo: Llamar a un procedimiento que toma un número indefinido de parámetros
Actualización: noviembre 2007
Un procedimiento puede declarar que la última entrada en su lista de parámetros sea una matriz de parámetros. Esto le permite aceptar un número indefinido de valores para ese parámetro, en lugar de sólo un único valor.
Para obtener más información, vea Matrices de parámetros.
Para llamar a un procedimiento con una matriz de parámetros y omitir el argumento correspondiente
Escriba la llamada al procedimiento de la manera normal. La matriz de parámetros debe ser el último argumento.
Finalice la lista de argumentos con el penúltimo argumento. La matriz de parámetros es opcional y todos los parámetros anteriores deben ser obligatorios.
O bien,
Proporcione la palabra clave Nothing como argumento para la matriz de parámetros.
Visual Basic pasa una matriz unidimensional vacía al procedimiento para la matriz de parámetros.
Para llamar a un procedimiento con una matriz de parámetros y proporcionar una lista de argumentos
Escriba la llamada al procedimiento de la manera normal. La matriz de parámetros debe ser el último argumento.
Proporcione cualquier número de argumentos, separados por comas, para la matriz de parámetros. El tipo de los datos de cada argumento debe poder convertirse implícitamente al tipo de elemento ParamArray.
Visual Basic pasa una matriz unidimensional al procedimiento, que contiene todos los valores proporcionados.
Para llamar a un procedimiento con una matriz de parámetros y proporcionar una matriz de argumentos
Escriba la llamada al procedimiento de la manera normal. La matriz de parámetros debe ser el último argumento.
Para la matriz de parámetros, proporcione una matriz unidimensional con el mismo tipo de elemento que el de la matriz de parámetros.
Visual Basic pasa la matriz al procedimiento.
Ejemplo
Los ejemplos siguientes muestran las llamadas típicas al procedimiento studentScores definido en Cómo: Definir un procedimiento con un número indefinido de parámetros.
Call studentScores("George")
...
Call studentScores("Anne", "10", "26", "32", "15", "22", "24", "16")
Call studentScores("Mary", "High", "Low", "Average", "High")
Dim JohnScores() As String = {"35", "Absent", "21", "30"}
Call studentScores("John", JohnScores)
La primera llamada omite totalmente la matriz de parámetros y proporciona sólo el primer argumento necesario. El procedimiento studentScores trata esta llamada como si pasara una matriz vacía.
La segunda y la tercera llamadas proporcionan las listas de argumentos de longitudes diferentes a la matriz de parámetros. Cada lista de éstas se pasa como una matriz de valores.
La cuarta llamada pasa una matriz a la matriz de parámetros.
Vea también
Conceptos
Argumentos y parámetros de procedimiento
Pasar argumentos por valor y por referencia
Pasar argumentos por posición o por nombre
Comprobar tipos en Visual Basic