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

Uso de construtures no uso de metodos

Olá pessoal, desde já obrigado pela ajuda.

Quando crio um construtor para uso do MetodoPrivado() na classe ModificadoresTeste o Visual Studio apresenta mensagem de erro informando que a classe ModificadoresTeste é inacessível devido ao seu nível de proteção em duas partes do código conforme indico abaixo.

Isso só ocorre quando crio este construtor. Se esta parte do código fica comentada, o código volta a compilar.

Minha dúvida é porque isto ocorre e sobre a obrigatoriedade de construtores para uso dos métodos.

namespace ByteBank.Modelos { public class ClasseTeste {

    ClasseTeste()
    {
        ModificadoresTeste modificador = new** ModificadoresTeste()**;   <-----  é inacessível devido ao seu nível de proteção
        modificador.MetodoPublico();
    }
}

class Derivada : ModificadoresTeste
{
  **  Derivada()**  <-----  é inacessível devido ao seu nível de proteção
    {
        Derivada modificador = new Derivada();
        modificador.MetodoPublico();

    }
}

class ModificadoresTeste
{
    protected void MetodoProtegido()
    {
        //Metodo Protegido, disponivel apenas dentro da classe e nas classes derivadas.
    }
    private void MetodoPrivado()
    {
        //Metodo privado, é visivel apenas dentro da classe.
    }
    public void MetodoPublico()
    {
        //Metodo público
    }

    ModificadoresTeste()
    {
        ModificadoresTeste modificador = new ModificadoresTeste();
        modificador.MetodoPrivado();
    }

}

}

1 resposta
solução!

Olá, acredito que o erro é causado por não deixar explicito a visibilidade do método construtor da classe ModificadoresTeste Assim o visual preenche automaticamente com private se não me engano, por este motivo é sempre valido deixar explicito sua intenção.

Para resolver o erro basta declarar o método como publico, tendo em vista que que vc deseja instanciar a classe testei aqui com seu código e compilou sem erros:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade