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

Un parametro consente al codice chiamante di passare un valore alla routine quando lo chiama. Per una routine ogni parametro viene dichiarato nello stesso modo in cui si dichiara una variabile, specificandone il nome e il tipo di dati. Occorre anche specificare il meccanismo di passaggio e se il parametro è facoltativo.

Per altre informazioni, vedere Parametri e argomenti delle routine.

Per definire un parametro per una routine

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

  2. Decidere il tipo di dati del parametro.

  3. Dopo il nome del parametro aggiungere una clausola As per specificare il tipo di dati.

  4. Decidere il meccanismo di passaggio desiderato per il parametro. In genere si passa un parametro in base al valore, a meno che la routine non sia in grado di modificare il relativo valore nel codice chiamante.

  5. Far precedere il nome del parametro da 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, far precedere il meccanismo di passaggio da Optional e far 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 routine Sub con tre parametri. I primi due sono obbligatori e il terzo è facoltativo. Le dichiarazioni dei parametri nell'elenco dei parametri sono separate da 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 oggetto customer e updateCustomer può aggiornare direttamente la variabile passata a c perché il meccanismo di passaggio dell'argomento è ByRef. La routine non può modificare i valori degli ultimi due argomenti perché il meccanismo di passaggio è ByVal.

    Se il codice chiamante non fornisce un valore per il parametro level, 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 clausola As, devono usarla tutti. Se l'opzione di controllo del tipo è On, la clausola As è necessaria per ogni definizione di parametro.

    La specifica dei tipi di dati per tutti gli elementi di programmazione è un'operazione nota come tipizzazione forte. Quando si imposta Option Strict On, Visual Basic impone la tipizzazione forte. È consigliabile usarla 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 del codice.

    • Consente al compilatore di eseguire il controllo del tipo. In questo modo è possibile 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. Infatti, se non si specifica un tipo di dati per un elemento di programmazione, il compilatore di Visual Basic lo assegna al tipo Object. Il codice compilato potrebbe dover eseguire la conversione tra Object e altri tipi di dati, riducendo così le prestazioni.

Vedi anche