Livelli di accessibilità (Riferimenti per C#)
Utilizzare i modificatori di accesso public, protected, internal o private per specificare uno dei seguenti livelli di accessibilità dichiarate per i membri.
Accessibilità dichiarata |
Significato |
---|---|
public |
Nessuna restrizione di accesso. |
protected |
L'accesso è limitato alla classe di appartenenza o ai tipi derivati dalla classe di appartenenza. |
internal |
L'accesso è limitato all'assembly corrente. |
protected internal |
L'accesso è limitato all'assembly corrente o ai tipi derivati dalla classe di appartenenza. |
private |
L'accesso è limitato al tipo di appartenenza. |
È consentito utilizzare un solo modificatore di accesso per un membro o un tipo, tranne nel caso in cui si utilizzi la combinazione protected internal.
I modificatori di accesso non sono utilizzabili sugli spazi dei nomi, i quali non presentano restrizioni di accesso.
A seconda del contesto in cui si verifica la dichiarazione di un membro, sono consentite solo determinate accessibilità dichiarate. Se nella dichiarazione di un membro non è stato specificato alcun modificatore di accesso, verrà utilizzato un valore di accessibilità predefinito.
I tipi di primo livello, non annidati in altri tipi, possono disporre solo di un'accessibilità di tipo internal o public. L'accessibilità predefinita per questi tipi è internal.
I tipi annidati, che sono membri di altri tipi, possono avere le accessibilità dichiarate elencate nella tabella seguente.
Membro di |
Accessibilità predefinita del membro |
Accessibilità dichiarata consentita per il membro |
---|---|---|
enum |
public |
Nessuna correzione |
class |
private |
public protected internal private protected internal |
interface |
public |
Nessuna correzione |
struct |
private |
public internal private |
L'accessibilità di un tipo annidato dipende dal dominio di accessibilità, che varia a seconda dell'accessibilità dichiarata del membro e del dominio di accessibilità del tipo che lo contiene direttamente. Tuttavia il dominio di accessibilità di un tipo annidato non può essere superiore a quello del tipo che lo contiene.
Specifiche del linguaggio C#
Per ulteriori informazioni, vedere la Specifiche del linguaggio C#. La specifica del linguaggio è la fonte ufficiale per la sintassi e l'utilizzo di C#.
Vedere anche
Riferimenti
Modificatori di accesso (Riferimenti per C#)
Dominio di accessibilità (Riferimenti per C#)
Restrizioni relative all'utilizzo dei livelli di accessibilità (Riferimenti per C#)
Modificatori di accesso (Guida per programmatori C#)
protected (Riferimenti per C#)