Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Sobre o internal/public/private

Alguém consegue me explicar melhor qual a diferença entre os 3? não entendi muito o internal, se puderem dar enfase nele agradeço.

1 resposta
solução!

Oi Guilherme! Como vai?

Entender os modificadores de acesso em C# pode ser um pouco confuso no começo, mas vou te ajudar a clarear isso, especialmente o internal. Vamos lá!

  1. public: Quando um membro de uma classe é declarado como public, ele pode ser acessado de qualquer lugar, ou seja, não há restrição de acesso. Isso é útil quando você deseja que partes do seu código sejam acessíveis de fora do assembly ou da classe.

    Exemplo:

    public class MinhaClasse
    {
        public int MinhaPropriedade { get; set; }
    }
    
  2. private: Este é o oposto do public. Quando um membro é private, ele só pode ser acessado de dentro da mesma classe. Isso é usado para encapsular dados e métodos que não devem ser expostos fora da classe.

    Exemplo:

    public class MinhaClasse
    {
        private int minhaVariavelPrivada;
    }
    
  3. internal: Esse modificador é um pouco diferente. Um membro ou classe internal só pode ser acessado dentro do mesmo assembly. Isso significa que, se você estiver trabalhando em um projeto que compila para um único assembly (como um projeto de console ou biblioteca), os membros internal podem ser acessados por qualquer código dentro desse assembly, mas não por código em outros assemblies.

    Exemplo:

    internal class MinhaClasseInterna
    {
        internal int MinhaPropriedadeInterna { get; set; }
    }
    

No seu contexto, a classe Banda é declarada como internal, o que significa que ela pode ser usada em qualquer lugar dentro do mesmo assembly, mas não fora dele. Isso é útil para manter a implementação interna do seu projeto encapsulada, enquanto ainda permite que diferentes partes do mesmo projeto interajam entre si.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.