Condividi tramite


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

Nessuno

class

private

public

protected

internal

private

protected internal

interface

public

Nessuno

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 altre informazioni, vedere la Specifiche del linguaggio C#. La specifica del linguaggio costituisce il riferimento ufficiale principale per la sintassi e l'uso 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#