Opa, eu estou tentando encontrar uma forma de encapsular a propriedade 'Senha' das classes que implementam a interface 'IAutenticavel', mas utilizar os modificadores de acesso como 'protected' e 'private' dentro da interface gera um erro, não é permitido.
public interface IAutenticavel
{
string Senha { get; protected set; }
bool Autenticar(string senha)
{
return Senha == senha;
}
}
Eu posso em qualquer ponto do meu código acessar e mudar a propriedade Senha de qualquer objeto IAutenticavel.
ParceiroComercial parceiro = new ParceiroComercial("senha123");
parceiro.Senha = "1231"; //propriedade completamente exposta para mudança.
Como posso resolver esse problema?