Sobes.tech
Junior — Middle

Podes enumerar os tipos de modificadores de acesso e as suas características?

sobes.tech IA

Resposta da IA

No C#, existem vários tipos de modificadores de acesso que determinam o nível de visibilidade dos membros de uma classe:

  • public — acesso aberto a todos, o membro é visível de qualquer lugar do programa.
  • private — acesso apenas dentro da mesma classe ou estrutura, o nível mais restritivo.
  • protected — acesso dentro da classe e das suas classes derivadas.
  • internal — acesso dentro do assembly atual, mas não de outros assemblies.
  • protected internal — acesso a partir de classes derivadas ou do assembly atual.
  • private protected — acesso a partir de classes derivadas, mas apenas dentro do assembly atual.

Exemplo:

class Example
{
    public int PublicValue;          // Disponível em qualquer lugar
    private int PrivateValue;        // Apenas dentro de Example
    protected int ProtectedValue;    // Em Example e herdeiros
    internal int InternalValue;      // Dentro do assembly
    protected internal int ProtInt;  // Em herdeiros ou no assembly
    private protected int PrivProt;  // Em herdeiros dentro do assembly
}