Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use os modificadores de acesso, internalprotectedou private especifique publicum dos seguintes níveis de acessibilidade declarados para membros.
| Acessibilidade declarada | Significado |
|---|---|
public |
O acesso não é restrito. |
protected |
O acesso é limitado à classe ou tipos que contêm derivados da classe que contém. |
internal |
O acesso é limitado ao assembly atual. |
protected internal |
O acesso é limitado ao assembly atual ou tipos derivados da classe que contém. |
private |
O acesso é limitado ao tipo que contém. |
private protected |
O acesso é limitado à classe ou tipos que contêm derivados da classe que contém dentro do assembly atual. |
Tipos de nível superior (não aninhados) podem usar o modificador de arquivo . O file modificador restringe o acesso ao código no mesmo arquivo de origem. Você não pode combinar o file modificador com qualquer modificador de acesso.
Use apenas um modificador de acesso para um membro ou tipo, exceto quando você usa as combinações ouprivate protected.protected internal
Não use modificadores de acesso em namespaces. Namespaces não têm nenhuma restrição de acesso.
Dependendo do contexto em que uma declaração de membro ocorre, somente determinadas acessibilidades declaradas são permitidas. Se você não especificar um modificador de acesso em uma declaração de membro, uma acessibilidade padrão será usada.
Tipos de nível superior, que não são aninhados em outros tipos, só podem ter internal ou public acessibilidade. A acessibilidade padrão para esses tipos é internal.
Tipos aninhados, que são membros de outros tipos, podem ter acesso declarado conforme indicado na tabela a seguir.
| Membros do | Acessibilidade de membro padrão | Acessibilidade declarada permitida do membro |
|---|---|---|
enum |
public |
Nenhum |
class |
private |
publicprotectedinternalprivateprotected internal private protected |
interface |
public |
publicprotectedinternalprivate*protected internal private protected |
struct |
private |
publicinternalprivate |
* Um interface membro com private acessibilidade deve ter uma implementação padrão.
Observação
Se você modificar uma classe ou struct com o record modificador de palavra-chave, use os mesmos modificadores de acesso.
Além disso, com o record modificador, a acessibilidade de membro padrão ainda private é para classe e struct.
A acessibilidade de um tipo aninhado depende de seu domínio de acessibilidade, que a acessibilidade declarada do membro e o domínio de acessibilidade do tipo que contém imediatamente determinam. No entanto, o domínio de acessibilidade de um tipo aninhado não pode exceder o do tipo que contém.
Especificação da linguagem C#
Para obter mais informações, consulte a Especificação da Linguagem C# . A especificação de idioma é a fonte definitiva para a sintaxe e o uso de C#.