Cómo: Definir parámetros para un procedimiento (Visual Basic)
Un parámetro permite que el código de llamada pase un valor al procedimiento cuando lo llama. Cada parámetro de un procedimiento se declara de la misma manera en que se declara una variable, especificando su nombre y tipo de datos. También se puede especificar el mecanismo de paso, y si el parámetro es opcional.
Para obtener más información, vea Argumentos y parámetros de procedimiento.
Para definir un parámetro de procedimiento
En la declaración del procedimiento, agregue el nombre del parámetro a la lista de parámetros del procedimiento, separándolo de otros parámetros por comas.
Decida el tipo de datos del parámetro.
Siga el nombre del parámetro con una cláusula
As
para especificar el tipo de datos.Decida el mecanismo de paso que quiere para el parámetro. Normalmente, un parámetro se pasa por valor, a menos que se quiera que el procedimiento pueda cambiar su valor en el código de llamada.
Anteponga al nombre del parámetro ByVal o ByRef para especificar el mecanismo de paso. Para obtener más información, vea Diferencias entre pasar un argumento por valor y por referencia.
Si el parámetro es opcional, anteponga al mecanismo de paso Optional y siga el tipo de datos del parámetro con un signo igual (
=
) y un valor predeterminado.En el ejemplo siguiente se define el esquema de un procedimiento
Sub
con tres parámetros. Los dos primeros son requeridos y el tercero es opcional. Las declaraciones de parámetros de la lista de parámetros se separan por comas.Sub updateCustomer(ByRef c As customer, ByVal region As String, Optional ByVal level As Integer = 0) ' Insert code to update a customer object. End Sub
El primer parámetro acepta un objeto
customer
, yupdateCustomer
puede actualizar directamente la variable pasada ac
porque el argumento se pasa ByRef. El procedimiento no puede cambiar los valores de los dos últimos argumentos porque se pasan ByVal.Si el código de llamada no proporciona un valor para el parámetro
level
, Visual Basic lo establece en el valor predeterminado de 0.Si el modificador de comprobación de tipos (Option Strict Statement) es
Off
, la cláusulaAs
es opcional al definir un parámetro. Pero si algún otro parámetro usa una cláusulaAs
, todos deben usarla. Si el modificador de comprobación de tipos esOn
, la cláusulaAs
es necesaria para cada definición del parámetro.La especificación de tipos de datos para todos los elementos de programación se conoce como tipado fuerte. Cuando se establece
Option Strict On
, Visual Basic aplica el tipado fuerte. Se recomienda encarecidamente por los motivos siguientes:Habilita la compatibilidad de IntelliSense con las variables y los parámetros. Esto permite ver sus propiedades y otros miembros mientras se escribe en el código.
Permite al compilador realizar la comprobación de tipos. Esto ayuda a detectar instrucciones que pueden producir errores en tiempo de ejecución debido a errores como el desbordamiento. También detecta llamadas a métodos en objetos que no las admiten.
Se traduce en una ejecución más rápida del código. Un motivo de esto es que si no especifica un tipo de datos para un elemento de programación, el compilador de Visual Basic lo asigna al tipo
Object
. Es posible que el código compilado tenga que convertir entreObject
y otros tipos de datos una y otra vez, lo que reduce el rendimiento.