Bom dia! No último tópico do curso 3 de C#, na classe SistemaInterno, o instrutor usa a interface IAutenticavel como parâmetro como se segue: public void Logar(IAutenticavel funcionario, string senha). Esse método Logar acima recebe um funcionário e uma senha como parâmetros. A minha dúvida é quanto ao parâmetro IAutenticavel funcionario, e mais especificamente sobre o fato de um tipo "Interface" receber um tipo "Funcionário". Isso pode ser considerado um upcasting? Similar ao que acontece na herança de classes? Fiz um teste tirando a implementação da interface IAutenticavel de FuncionarioAutenticavel e tive o seguinte erro em tempo de execução: O build falhou. Deseja continuar a Depuração? e ao clicar em sim, o programa executa normalmente. Ao retomar a implementação da interface IAutenticavel na classe FuncionarioAutenticavel, esse erro não aparece e a aplicação é executada normalmente.