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.
In genere, una variabile è nell'ambito o visibile per riferimento, in tutta l'area in cui la dichiari. In alcuni casi, il livello di accesso della variabile può influenzare l'ambito.
Per altre informazioni, vedere Ambito in Visual Basic.
Ambito a livello di blocco o procedura
Per rendere visibile una variabile solo all'interno di un blocco
Inserire l'istruzione Dim per la variabile tra le istruzioni di dichiarazione di inizio e di fine del blocco, ad esempio tra le istruzioni
For
eNext
di un cicloFor
.È possibile fare riferimento alla variabile solo dall'interno del blocco.
Per rendere visibile una variabile solo all'interno di una routine
Inserire l'istruzione
Dim
per la variabile all'interno della procedura, ma all'esterno di qualsiasi blocco, ad esempio un bloccoWith
...End With
.È possibile fare riferimento alla variabile solo dall'interno della routine, incluso all'interno di qualsiasi blocco contenuto nella routine.
Ambito a livello di modulo o spazio dei nomi
Per praticità, il livello di modulo a termine singolo si applica allo stesso modo a moduli, classi e strutture. Il livello di accesso di una variabile a livello di modulo ne determina l'ambito. Lo spazio dei nomi che contiene il modulo, la classe o la struttura influisce anche sull'ambito.
Per rendere visibile una variabile in un modulo, una classe o una struttura
Inserire l'istruzione
Dim
per la variabile all'interno del modulo, della classe o della struttura, ma all'esterno di qualsiasi routine.Includere la parola chiave Private nell'istruzione
Dim
.È possibile fare riferimento alla variabile da qualsiasi punto all'interno del modulo, della classe o della struttura, ma non dall'esterno.
Per rendere visibile una variabile nell'intero spazio dei nomi
Inserire l'istruzione
Dim
per la variabile all'interno del modulo, della classe o della struttura, ma all'esterno di qualsiasi routine.Includere la parola chiave Friend o Public nell'istruzione
Dim
.È possibile fare riferimento alla variabile da qualsiasi punto all'interno dello spazio dei nomi contenente il modulo, la classe o la struttura.
Esempio
L'esempio seguente dichiara una variabile a livello di modulo e limita la visibilità al codice all'interno del modulo.
Module demonstrateScope
Private strMsg As String
Sub initializePrivateVariable()
strMsg = "This variable cannot be used outside this module."
End Sub
Sub usePrivateVariable()
MsgBox(strMsg)
End Sub
End Module
Nell'esempio precedente tutte le procedure definite nel modulo demonstrateScope
possono fare riferimento alla String
variabile strMsg
. Quando viene chiamata la usePrivateVariable
routine, viene visualizzato il contenuto della variabile strMsg
stringa in una finestra di dialogo.
Con la modifica seguente all'esempio precedente, la variabile stringa strMsg
può essere richiamata dal codice in qualsiasi punto dello spazio dei nomi della relativa dichiarazione.
Public strMsg As String
Programmazione affidabile
Più piccolo è l'ambito di una variabile, minore è il numero di opportunità che si hanno per fare accidentalmente riferimento al parametro anziché un'altra variabile con lo stesso nome. È anche possibile ridurre al minimo i problemi di corrispondenza dei riferimenti.
Sicurezza di .NET Framework
Più ristretto è l'ambito di una variabile, minore è la probabilità che il codice dannoso possa usarlo in modo improprio.