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

Parole chiave di C#

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#)

public (Riferimenti per C#)

private (Riferimenti per C#)

protected (Riferimenti per C#)

internal (Riferimenti per C#)

Concetti

Guida per programmatori C#

Altre risorse

Riferimenti per C#