Níveis de acessibilidade (Referência de C#)
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 somente uma é permitido para um membro ou tipo, exceto quando você usa o protectedinternal 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, que não estão aninhados em outros tipos, só podem ter internal ou public acessibilidade. A acessibilidade 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 a Especificação da linguagem C#. A especificação da linguagem é a fonte definitiva para a sintaxe e o uso de C#.
Consulte também
Referência
Modificadores de acesso (Referência de C#)
Domínio de acessibilidade (Referência de C#)
Restrições ao uso de níveis de acessibilidade (Referência de C#)
Modificadores de acesso (Guia de Programação em C#)