C# · Essencial · Inglês · Técnico
internal
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ãoExemplos
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