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
Riferimenti
Istruzione Function (Visual Basic)