Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un parametro consente al codice chiamante di passare un valore alla routine quando lo chiama. Ogni parametro viene dichiarato per una routine nello stesso modo in cui si dichiara una variabile, specificandone il nome e il tipo di dati. Specificare anche il meccanismo di passaggio e se il parametro è facoltativo.
Per altre informazioni, vedere Parametri e argomenti delle procedure.
Per definire un parametro di routine
Nella dichiarazione di procedura aggiungere il nome del parametro all'elenco dei parametri della routine, separandolo da altri parametri in base a virgole.
Decidere il tipo di dati del parametro.
Seguire il nome del parametro con una
As
clausola per specificare il tipo di dati.Decidere il meccanismo di passaggio desiderato per il parametro . In genere si passa un parametro per valore, a meno che la routine non sia in grado di modificarne il valore nel codice chiamante.
Precedere il nome del parametro con ByVal o ByRef per specificare il meccanismo di passaggio. Per altre informazioni, vedere Differenze tra il passaggio di un argomento per valore e per riferimento.
Se il parametro è facoltativo, precedere il meccanismo di passaggio con Facoltativo e seguire il tipo di dati del parametro con un segno di uguale (
=
) e un valore predefinito.Nell'esempio seguente viene definita la struttura di una
Sub
routine con tre parametri. I primi due sono obbligatori e il terzo è facoltativo. Le dichiarazioni di parametro sono separate nell'elenco di parametri in base a virgole.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
Il primo parametro accetta un
customer
oggetto eupdateCustomer
può aggiornare direttamente la variabile passata ac
perché l'argomento viene passato a ByRef. La routine non può modificare i valori degli ultimi due argomenti perché vengono passati ByVal.Se il codice chiamante non fornisce un valore per il
level
parametro, Visual Basic lo imposta sul valore predefinito 0.Se l'opzione di controllo del tipo (istruzione Option Strict) è
Off
, la clausolaAs
è facoltativa quando si definisce un parametro. Tuttavia, se uno dei parametri usa unaAs
clausola , tutti devono usarlo. Se l'opzione di controllo del tipo èOn
, laAs
clausola è necessaria per ogni definizione di parametro.Specificare i tipi di dati per tutti gli elementi di programmazione è noto come tipizzazione avanzata. Quando si imposta
Option Strict On
, Visual Basic applica la digitazione avanzata. Questa opzione è fortemente consigliata per i motivi seguenti:Abilita il supporto di IntelliSense per le variabili e i parametri. In questo modo è possibile visualizzare le relative proprietà e altri membri durante la digitazione nel codice.
Consente al compilatore di eseguire il controllo dei tipi. Ciò consente di rilevare le istruzioni che possono avere esito negativo in fase di esecuzione a causa di errori come l'overflow. Rileva anche le chiamate ai metodi sugli oggetti che non li supportano.
Comporta un'esecuzione più rapida del codice. Un motivo è che se non si specifica un tipo di dati per un elemento di programmazione, il compilatore di Visual Basic lo assegna al
Object
tipo. Il codice compilato potrebbe dover eseguire la conversione traObject
e altri tipi di dati, riducendo così le prestazioni.