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
Asclausola 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
Subroutine 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 SubIl primo parametro accetta un
customeroggetto eupdateCustomerpuò aggiornare direttamente la variabile passata acperché 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
levelparametro, 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 unaAsclausola , tutti devono usarlo. Se l'opzione di controllo del tipo èOn, laAsclausola è 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
Objecttipo. Il codice compilato potrebbe dover eseguire la conversione traObjecte altri tipi di dati, riducendo così le prestazioni.