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.
È possibile controllare la disponibilità di una variabile specificandone il livello di accesso. Il livello di accesso determina il codice autorizzato a leggere o scrivere nella variabile.
Le variabili membro (definite a livello di modulo e al di fuori di qualsiasi procedura) vengono usate per impostazione predefinita per l'accesso pubblico, il che significa che qualsiasi codice in grado di visualizzarli può accedervi. È possibile modificare questa impostazione specificando un modificatore di accesso.
Le variabili locali (definite all'interno di una routine) hanno accesso pubblico, anche se solo il codice all'interno della procedura può accedervi. Non è possibile modificare il livello di accesso di una variabile locale, ma è possibile modificare il livello di accesso della routine che lo contiene.
Per altre informazioni, vedere Livelli di accesso in Visual Basic.
Accesso privato e pubblico
Per rendere accessibile una variabile solo dall'interno del relativo modulo, classe o 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 leggere o scrivere nella variabile da qualsiasi posizione all'interno del modulo, della classe o della struttura, ma non dall'esterno.
Per rendere accessibile una variabile da qualsiasi codice in grado di visualizzarlo
Per una variabile membro, inserire l'istruzione
Dim
per la variabile all'interno di un modulo, una classe o una struttura, ma all'esterno di qualsiasi routine.Includere la parola chiave Public nell'istruzione
Dim
.È possibile leggere o scrivere nella variabile da qualsiasi codice interoperabile con l'assembly.
oppure
Per una variabile locale, inserire l'istruzione
Dim
per la variabile all'interno di una routine.Non includere la
Public
parola chiave nell'istruzioneDim
.È possibile leggere o scrivere nella variabile da qualsiasi posizione all'interno della procedura, ma non dall'esterno.
Accesso protetto e amico
È possibile limitare il livello di accesso di una variabile alla relativa classe e a qualsiasi classe derivata o al relativo assembly. È anche possibile specificare l'unione di queste limitazioni, che consente l'accesso dal codice in qualsiasi classe derivata o in qualsiasi altra posizione nello stesso assembly. È possibile specificare questa unione combinando le Protected
parole chiave e Friend
nella stessa dichiarazione.
Per rendere accessibile una variabile solo dall'interno della relativa classe e da tutte le classi derivate
Inserire l'istruzione
Dim
per la variabile all'interno di una classe, ma all'esterno di qualsiasi routine.Includere la parola chiave Protected nell'istruzione
Dim
.È possibile leggere o scrivere nella variabile da qualsiasi punto all'interno della classe, nonché dall'interno di qualsiasi classe derivata, ma non dall'esterno di qualsiasi classe nella catena di derivazione.
Per rendere accessibile una variabile solo dall'interno dello stesso assembly
Inserire l'istruzione
Dim
per la variabile all'interno di un modulo, una classe o una struttura, ma all'esterno di qualsiasi routine.Includere la parola chiave Friend nell'istruzione
Dim
.È possibile leggere o scrivere nella variabile da qualsiasi posizione all'interno del modulo, della classe o della struttura, nonché da qualsiasi codice nello stesso assembly, ma non dall'esterno dell'assembly.
Esempio
L'esempio seguente mostra le dichiarazioni di variabili con i livelli di accesso Public
, Protected
, Friend
, Protected Friend
e Private
. Si noti che quando l'istruzione Dim
specifica un livello di accesso, non è necessario includere la Dim
parola chiave .
Public Class classForEverybody
Protected Class classForMyHeirs
Friend stringForThisProject As String
Protected Friend stringForProjectAndHeirs As String
Private numberForMeOnly As Integer
Sicurezza di .NET Framework
Più restrittivo è il livello di accesso di una variabile, minore è la probabilità che il codice dannoso possa usarlo in modo improprio.