Accessibility Levels (C# Reference)
Use os modificadores de acesso, pública, protegido, interno, ou particular, para especificar um dos seguintes níveis de acessibilidade declarada de membros.
Acessibilidade declarada |
Significado |
---|---|
public |
O acesso não é restrito. |
protected |
O acesso é limitado a classe que contém classes ou tipos derivados da classe que contém. |
internal |
O acesso é limitado ao conjunto atual. |
protected internal |
O acesso é limitado ao conjunto atual ou tipos derivados da classe que contém. |
private |
O acesso é limitado para o tipo de recipiente. |
Modificador de acesso de somente um é permitido para um membro ou tipo, exceto quando você usa o protected internal combinação.
Modificadores de acessos não são permitidos em namespaces. Namespaces não têm restrições de acesso.
Dependendo do contexto no qual ocorre uma declaração de membro, somente algumas acessibilidades declaradas são permitidas. Se nenhum modificador de acesso é especificado na declaração de membro, uma acessibilidade padrão é usada.
Tipos de nível superior, o que não estão aninhados em outros tipos, só podem ter internal ou public acessibilidade. A acessibilidade de padrão para esses tipos for internal.
Tipos aninhados, que são membros de outros tipos, podem ter acessibilidade declarada, conforme indicado na tabela a seguir.
Membros do |
Acessibilidade de membro padrão |
Acessibilidade declarada permitida dos membros |
---|---|---|
enum |
public |
Nenhum |
class |
private |
public protected internal private protected internal |
interface |
public |
Nenhum |
struct |
private |
public internal private |
A acessibilidade de um tipo aninhado depende de sua o domínio de acessibilidade, que é determinado pela acessibilidade declarada do membro e o domínio de acessibilidade do tipo imediatamente contido. Entretanto, o domínio de acessibilidade de um tipo aninhado não pode exceder o do tipo contido.
Especificação da linguagem C#
Para obter mais informações, consulte C# Language Specification A especificação de linguagem é a fonte definitiva para a sintaxe e o uso de C#.
Consulte também
Referência
Access Modifiers (C# Reference)
Domínio de acessibilidade (referência de C#)
Restrições ao uso de níveis de acessibilidade (referência de C#)
Access Modifiers (C# Programming Guide)