Condividi tramite


Elenco parametri

Aggiornamento: novembre 2007

Specifica i parametri previsti quando viene chiamata una routine. Nel caso di più parametri, è possibile separarli mediante virgole. Di seguito è riportata la sintassi per un parametro.

[ <attributelist> ] [ Optional ] [{ ByVal | ByRef }] [ ParamArray ] 
parametername[( )] [ As parametertype ] [ = defaultvalue ]

Parti

  • attributelist
    Facoltativa. Elenco di attributi applicabili al parametro. È necessario racchiudere l'Elenco degli attributi tra parentesi angolari ("<" e ">").

  • Optional
    Facoltativa. Specifica che il parametro non è obbligatorio quando viene chiamata la routine.

  • ByVal
    Facoltativa. Specifica che alla routine non è consentito sostituire o riassegnare l'elemento variabile sottostante all'argomento corrispondente nel codice chiamante.

  • ByRef
    Facoltativa. Specifica che alla routine è consentito modificare la variabile sottostante nel codice chiamante, analogamente a quanto consentito al codice chiamante stesso.

  • ParamArray
    Facoltativa. Specifica che l'ultimo parametro dell'elenco di parametri è una matrice facoltativa di elementi del tipo di dati specificato. Ciò consente al codice chiamante di passare alla routine un numero arbitrario di argomenti.

  • parametername
    Obbligatoria. Nome della variabile locale che rappresenta il parametro.

  • parametertype
    Obbligatoria se Option Strict è On. Tipo di dati della variabile locale che rappresenta il parametro.

  • defaultvalue
    Obbligatoria per i parametri Optional. Qualsiasi costante o espressione costante che restituisce il tipo di dati del parametro. Se il tipo è Object oppure una classe, un'interfaccia, una matrice o una struttura, il valore predefinito potrà essere solo Nothing.

Note

I parametri sono racchiusi tra parentesi e separati da una virgola. Un parametro può essere dichiarato con qualsiasi tipo di dati. Se non si specifica la parte parametertype, verrà utilizzato il valore predefinito Object.

Quando chiama la routine, il codice chiamante passa un argomento a ciascun parametro obbligatorio. Per ulteriori informazioni, vedere Differenze tra parametri e argomenti.

L'argomento passato dal codice chiamante a ciascun parametro costituisce un puntatore a un elemento sottostante nel codice chiamante. Se tale elemento è non variabile, ovvero una costante, un valore letterale, un'enumerazione o un'espressione, nessun codice sarà in grado di modificarlo. Se si tratta di un elemento variabile, ovvero una variabile, un campo, una proprietà, un elemento di matrice o un elemento di struttura dichiarato, il codice chiamante potrà modificarlo. Per ulteriori informazioni, vedere Differenze tra argomenti modificabili e non modificabili.

La routine potrà modificare anche un elemento variabile ByRef passato. Per ulteriori informazioni, vedere Differenze tra il passaggio di argomenti per valore e per riferimento.

Regole

  • Parentesi. Quando si specifica un elenco di parametri, è necessario racchiuderlo tra parentesi. Se non sono presenti parametri, l'utilizzo delle parentesi per racchiudere un elenco vuoto rende comunque più leggibile il codice in quanto indica che l'elemento è una routine.

  • Parametri facoltativi. Se si utilizza il modificatore Optional su un parametro, anche tutti i parametri successivi dell'elenco devono essere facoltativi e dichiarati dal modificatore Optional.

    È necessario che in tutte le dichiarazioni di parametri facoltativi sia specificata la clausola defaultvalue.

  • Matrici di parametri. È necessario specificare ByVal per un parametro ParamArray.

    Non è possibile utilizzare sia Optional che ParamArray nello stesso elenco di parametri.

  • Meccanismo di passaggio. Il meccanismo predefinito per ciascun argomento è ByVal. In altri termini, la routine non può modificare l'elemento variabile sottostante. Se l'elemento è un tipo di riferimento, la routine potrà tuttavia modificare il contenuto o i membri dell'oggetto sottostante, anche se non potrà sostituire o riassegnare l'oggetto stesso.

  • Nomi di parametri. Se il tipo di dati del parametro è una matrice, inserire delle parentesi immediatamente dopo parametername. Per ulteriori informazioni sui nomi dei parametri, vedere Nomi di elementi dichiarati.

Esempio

Nell'esempio riportato di seguito viene illustrata una routine Function che definisce due parametri.

Public Function howMany(ByVal ch As Char, ByVal st As String) As Integer
End Function
Dim howManyA As Integer = howMany("a"c, "How many a's in this string?")

Vedere anche

Attività

Procedura: interrompere e combinare istruzioni nel codice

Concetti

Applicazione di attributi

Riferimenti

Istruzione Function (Visual Basic)

Istruzione Sub (Visual Basic)

Istruzione Declare

Istruzione Structure

Istruzione Option Strict

DllImportAttribute

Altre risorse

Attributi in Visual Basic