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.
Il livello di accesso di un elemento dichiarato è l'estensione della possibilità di accedervi, ovvero il codice autorizzato a leggerlo o scriverlo. Questa operazione viene determinata non solo dal modo in cui si dichiara l'elemento stesso, ma anche dal livello di accesso del contenitore dell'elemento. Il codice che non può accedere a un elemento contenitore non può accedere a nessuno dei relativi elementi contenuti, anche quelli dichiarati come Public
. Ad esempio, è possibile accedere a una Public
variabile in una Private
struttura dall'interno della classe che contiene la struttura, ma non dall'esterno di tale classe.
Pubblico
La parola chiave Public nell'istruzione di dichiarazione specifica che l'elemento può essere accessibile dal codice in qualsiasi punto dello stesso progetto, da altri progetti che fanno riferimento al progetto e da qualsiasi assembly compilato dal progetto. Il codice seguente mostra una dichiarazione di esempio Public
:
Public Class ClassForEverybody
È possibile usare Public
solo a livello di modulo, interfaccia o spazio dei nomi. Ciò significa che è possibile dichiarare un elemento pubblico a livello di un file di origine o di uno spazio dei nomi oppure all'interno di un'interfaccia, un modulo, una classe o una struttura, ma non in una routine.
Protetto
La parola chiave Protected nell'istruzione di dichiarazione specifica che l'elemento può essere accessibile solo dall'interno della stessa classe o da una classe derivata da questa classe. Il codice seguente mostra una dichiarazione di esempio Protected
:
Protected Class ClassForMyHeirs
È possibile usare Protected
solo a livello di classe e solo quando si dichiara un membro di una classe. Ciò significa che è possibile dichiarare un elemento protetto in una classe, ma non a livello di un file di origine o di uno spazio dei nomi o all'interno di un'interfaccia, un modulo, una struttura o una routine.
Amico
La parola chiave Friend nell'istruzione di dichiarazione specifica che è possibile accedere all'elemento dall'interno dello stesso assembly, ma non dall'esterno dell'assembly. Il codice seguente mostra una dichiarazione di esempio Friend
:
Friend stringForThisProject As String
È possibile usare Friend
solo a livello di modulo, interfaccia o spazio dei nomi. Ciò significa che è possibile dichiarare un elemento friend a livello di un file di origine o di uno spazio dei nomi oppure all'interno di un'interfaccia, un modulo, una classe o una struttura, ma non in una routine.
Amico protetto
La combinazione di parole chiave Protected Friend nell'istruzione di dichiarazione specifica che è possibile accedere all'elemento dalle classi derivate o dall'interno dello stesso assembly oppure da entrambi. Il codice seguente mostra una dichiarazione di esempio Protected Friend
:
Protected Friend stringForProjectAndHeirs As String
È possibile usare Protected Friend
solo a livello di classe e solo quando si dichiara un membro di una classe. Ciò significa che è possibile dichiarare un elemento Friend protetto in una classe, ma non a livello di un file di origine o di uno spazio dei nomi o all'interno di un'interfaccia, un modulo, una struttura o una routine.
Privato
La parola chiave Private nell'istruzione di dichiarazione specifica che l'elemento può essere accessibile solo dall'interno dello stesso modulo, classe o struttura. Il codice seguente mostra una dichiarazione di esempio Private
:
Private _numberForMeOnly As Integer
È possibile usare Private
solo a livello di modulo. Ciò significa che è possibile dichiarare un elemento privato all'interno di un modulo, una classe o una struttura, ma non a livello di un file o di uno spazio dei nomi di origine, all'interno di un'interfaccia o in una routine.
A livello di modulo, l'istruzione Dim
senza parole chiave a livello di accesso equivale a una Private
dichiarazione. Tuttavia, è possibile usare la Private
parola chiave per semplificare la lettura e l'interpretazione del codice.
Privato protetto
La combinazione di parole chiave Private Protected nell'istruzione di dichiarazione specifica che l'elemento può essere accessibile solo dall'interno della stessa classe, nonché dalle classi derivate presenti nello stesso assembly della classe contenitore. Il Private Protected
modificatore di accesso è supportato a partire da Visual Basic 15.5.
L'esempio seguente mostra una Private Protected
dichiarazione:
Private Protected internalValue As Integer
È possibile dichiarare un Private Protected
elemento solo all'interno di una classe. Non è possibile dichiararla all'interno di un'interfaccia o di una struttura, né dichiararla a livello di un file o di uno spazio dei nomi di origine, all'interno di un'interfaccia o di una struttura o in una routine.
Il Private Protected
modificatore di accesso è supportato da Visual Basic 15.5 e versioni successive. Per usarlo, aggiungere l'elemento seguente al file di progetto Visual Basic (*.vbproj). Se nel sistema è installato Visual Basic 15.5 o versione successiva, è possibile sfruttare tutte le funzionalità del linguaggio supportate dalla versione più recente del compilatore Visual Basic:
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
Per usare il Private Protected
modificatore di accesso, è necessario aggiungere l'elemento seguente al file di progetto Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Per altre informazioni, vedere Impostazione della versione del linguaggio Visual Basic.
Modificatori di accesso
Le parole chiave che specificano il livello di accesso sono denominate modificatori di accesso. Nella tabella seguente vengono confrontati i modificatori di accesso:
Modificatore di accesso | Livello di accesso concesso | Elementi che è possibile dichiarare con questo livello di accesso | Contesto di dichiarazione in cui è possibile usare questo modificatore |
---|---|---|---|
Public |
Illimitato: Qualsiasi codice in grado di visualizzare un elemento pubblico può accedervi |
Interfacce moduli Classi Strutture Membri della struttura Le procedure Proprietà Variabili membro Costanti Enumerazioni Avvenimenti Dichiarazioni esterne Delegati |
File di origine Namespace Interfaccia Modulo Classe Struttura |
Protected |
Derivazione: Il codice nella classe che dichiara un elemento protetto o una classe derivata da esso può accedere all'elemento |
Interfacce Classi Strutture Le procedure Proprietà Variabili membro Costanti Enumerazioni Avvenimenti Dichiarazioni esterne Delegati |
Classe |
Friend |
Assemblea: Il codice nell'assembly che dichiara un elemento friend può accedervi |
Interfacce moduli Classi Strutture Membri della struttura Le procedure Proprietà Variabili membro Costanti Enumerazioni Avvenimenti Dichiarazioni esterne Delegati |
File di origine Namespace Interfaccia Modulo Classe Struttura |
Protected
Friend
|
Unione di Protected e Friend :Il codice nella stessa classe o nello stesso assembly di un elemento Friend protetto o all'interno di qualsiasi classe derivata dalla classe dell'elemento, può accedervi |
Interfacce Classi Strutture Le procedure Proprietà Variabili membro Costanti Enumerazioni Avvenimenti Dichiarazioni esterne Delegati |
Classe |
Private |
Contesto della dichiarazione: Il codice nel tipo che dichiara un elemento privato, incluso il codice all'interno dei tipi contenuti, può accedere all'elemento |
Interfacce Classi Strutture Membri della struttura Le procedure Proprietà Variabili membro Costanti Enumerazioni Avvenimenti Dichiarazioni esterne Delegati |
Modulo Classe Struttura |
Private Protected |
Codice nella classe che dichiara un elemento protetto privato o codice in una classe derivata presente nello stesso assembly della classe base. | Interfacce Classi Strutture Le procedure Proprietà Variabili membro Costanti Enumerazioni Avvenimenti Dichiarazioni esterne Delegati |
Classe |