Condividi tramite


Procedura: Definire un parametro per una routine (Visual Basic)

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

  1. Nella dichiarazione di procedura aggiungere il nome del parametro all'elenco dei parametri della routine, separandolo da altri parametri in base a virgole.

  2. Decidere il tipo di dati del parametro.

  3. Seguire il nome del parametro con una As clausola per specificare il tipo di dati.

  4. 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.

  5. 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.

  6. 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 e updateCustomer può aggiornare direttamente la variabile passata a c 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 clausola As è facoltativa quando si definisce un parametro. Tuttavia, se uno dei parametri usa una As clausola , tutti devono usarlo. Se l'opzione di controllo del tipo è On, la As 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 tra Object e altri tipi di dati, riducendo così le prestazioni.

Vedere anche