ExpertiDict

C# · Essencial · Inglês · Técnico

internal

/ɪnˈtɝnəl/palavra-chave

Modificador de acesso que torna o tipo ou membro visível apenas dentro do mesmo assembly. É o padrão para tipos de nível superior declarados sem modificador.

Onde usar

Aparece ao desenhar bibliotecas: expor só o necessário como public e esconder o resto com internal. Isso reduz a superfície de API que você precisa manter compatível entre versões.

Em código

public class Servico
{
  internal int Contador; // só no assembly
  public void Rodar() => Contador++;
}
class Ajudante { } // internal por padrão

Exemplos

Make this class internal, it shouldn't be public.

Deixe essa classe internal, ela não deveria ser pública.

The tests can't see it because it's internal.

Os testes não enxergam porque é internal.

Cuidado

Não confunda com private nem com protected: internal libera acesso para qualquer código do assembly, não só para a própria classe.

Antônimos

public

Veja também

Todos os termos de C#