Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro CS0104 - "Diretor" é uma referência ambígua entre "TesteBybteBank.Funcionarios.Diretor" e "TesteBybteBank.Sistemas.Diretor"

Erro CS0104 - "Diretor" é uma referência ambígua entre "TesteBybteBank.Funcionarios.Diretor" e "TesteBybteBank.Sistemas.Diretor"

using System;
using TesteBybteBank.Funcionarios;
using TesteBybteBank.Sistemas;

namespace TesteBybteBank
{
    class Program
    {
       public  static void Main(string[] args)
        {
            // CalcularBonificação();

            UsarSistema();
        }

        public static void UsarSistema ()
        {
            SistemaInterno sistemaInterno = new SistemaInterno();
            {
                Diretor roberta = new Diretor("159.753.398-04");
                roberta.Nome = "Roberta";
                roberta.Senha = "123";

                sistemaInterno.Logar(roberta, "123");
                sistemaInterno.Logar(roberta, "abc");
            }
        }
        public static void CalcularBonificação ()
        {
            GerenciadorBonificação gerenciadorBonificação = new GerenciadorBonificação();

            Designer pedro = new Designer("833.222.048-39");
            pedro.Nome = "Pedro";

            Diretor roberta = new Diretor("159.753.398-04");
            roberta.Nome = "Roberta";

            Auxiliar igor = new Auxiliar("981.198.778-53");
            igor.Nome = "Igor";

            GerenteDeConta camila = new GerenteDeConta("326.985.628-89");
            camila.Nome = "Camila";

            gerenciadorBonificação.Registrar(pedro);
            gerenciadorBonificação.Registrar(roberta);
            gerenciadorBonificação.Registrar(igor);
            gerenciadorBonificação.Registrar(camila);

            Console.WriteLine("O total de bonificações do mês " + gerenciadorBonificação.GetTotalBonificação()); 
            }
        }
    }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TesteBybteBank.Funcionarios;

namespace TesteBybteBank.Sistemas
{
   public  class SistemaInterno
    {
        public bool Logar(Diretor funcionario, string senha)
        {
            bool usuarioAutenticado = funcionario.Autenticar (senha);

            if (usuarioAutenticado)
            {
                Console.WriteLine("Bem vindo ao sistema!");
                return true; 
            }
            else
            {
                Console.WriteLine("Senha incorreta!");
                return false;
            }
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TesteBybteBank.Funcionarios
{
    public class Diretor : Funcionario
    {
        public string Senha { get; set; }
        public Diretor(string cpf): base(5000, cpf)
        {
            Console.WriteLine("Criando Diretor");
        }
        public bool Autenticar (string senha)
        {
            return Senha == senha;
        }

        public override void AumentarSalario ()
        {
            Salario *= 1.15;
        }
        public override double GetBonificação()
        {
            return Salario * 0.5;
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TesteBybteBank.Funcionarios
{
    public abstract class Funcionario
    {

        public static int totalDeFuncionarios { get; private set;}

        public string Nome { get; set; }
        public string CPF { get; private set; }
        public double Salario { get; protected set; }

        public Funcionario(double salario, string cpf)
        {

            Console.WriteLine("Criando Funcionário");

            CPF = cpf;
            Salario = salario;

            totalDeFuncionarios++;
        }

        public abstract void AumentarSalario();
        public abstract double GetBonificação();

    }
}
2 respostas
solução!

Olá Thainá, como vai?

Pelas classes que enviou, parece que o projeto está ok. Pelo erro, acredito que a classe Diretor esteja duplicada em seu projeto. Verifique se essa classe existe dentro da pasta "Sistemas" e dentro da pasta "Funcionarios". Ela deve estar presente apenas na pasta "Funcionarios".

Observação: Procure evitar a utilização de acentos e ç para qualquer tipo de nome, seja em métodos, classes, pastas... Por questões de boas práticas, não fazemos a utilização dos mesmo.

Aguardo seu retorno.

Estava duplicada mesmo, obrigada!

Quanto a observação, obrigada pelo conselho!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software