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

"Console": classes static não podem ser utilizadas como parâmetros

Insira aqui a descrição dessa imagem para ajudar na acessibilidade nao sei mais oq fazer para resolver esse erro e compilar meu código.

using ByteBank.Funcionarios;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ByteBank
{
    class Program
    {
        static void Main(string[] args)
        {
            CalcularBonificacao();

            Console.ReadLine();
        }

        public static void CalcularBonificacao()
        {
            GerenciadorBonificacao gerenciadorBonificacao = new GerenciadorBonificacao();

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

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

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

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

            Desenvolvedor guilherme = new Desenvolvedor("456.175.468-20");
            guilherme.Nome = "Guilherme";

            gerenciadorBonificacao.Registrar(guilherme);
            gerenciadorBonificacao.Registrar(pedro);
            gerenciadorBonificacao.Registrar(roberta);
            gerenciadorBonificacao.Registrar(igor);
            gerenciadorBonificacao.Registrar(camila);

            Console.WriteLine("Total de bonificações do mês " +
                gerenciadorBonificacao.GetTotalBonificacao());
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ByteBank.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 FUNCIONARIO");

            CPF = cpf;
            Salario = salario;

            TotalDeFuncionarios++;
        }

        public abstract void AumentarSalario();

        public abstract double GetBonificacao();
    }
}
using ByteBank.Funcionarios;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ByteBank
{
    public class GerenciadorBonificacao
    {
        private double _totalBonificacao;

        public void Registrar(Funcionario funcionario)
        {
            _totalBonificacao += funcionario.GetBonificacao();
        }

        public double GetTotalBonificacao()
        {
            return _totalBonificacao;
        }

    }
}
4 respostas

Larissa, pela mensagem do VS o erro esta ocorrendo no programa (CS) programaBase.cs. Por favor, poste esse código ou print a linha com a qual o VS menciona o erro.

using ByteBank;
using ByteBank.Funcionarios;

namespace _ByteBank
{
    internal class programBase
    {
         static void Main(string[] args, Console console)
        {
            GerenciadorBonificacao gerenciador = new GerenciadorBonificacao();

            Funcionario carlos = new Funcionario();
            carlos.Nome = "Carlos";
            carlos.CPF = "505.363.848.94";
            carlos.Salario = 2000;

            gerenciador.Registrar(carlos);

            Diretor larissa = new Diretor();
            larissa.Nome = "Larissa";
            larissa.CPF = "505.363.848-94";
            larissa.Salario = 5000;

            Funcionario larissaTeste = larissa;

            Console.WriteLine("Bonificação de uma referencia de Diretor: " + larissa.GetBonificacao());
            Console.WriteLine("Bonificação de uma referencia de funcionario: " + larissaTeste.GetBonificacao());

            gerenciador.Registrar(larissa);

            Console.WriteLine(carlos.Nome);
            Console.WriteLine(carlos.GetBonificacao());

            Console.WriteLine(larissa.Nome);
            Console.WriteLine(larissa.GetBonificacao());

            Console.WriteLine("Total de bonificações: " + gerenciador.GetTotalBonificacao());


            Console.ReadLine();
        }
    }
}
using ByteBank;
using ByteBank.Funcionarios;

namespace _ByteBank
{
    internal class programBaseBase
    {
        public static void Main(string[] args, Console console)
        {
            GerenciadorBonificacao gerenciador = new GerenciadorBonificacao();

            Funcionario carlos = new Funcionario();
            carlos.Nome = "Carlos";
            carlos.CPF = "505.363.848.94";
            carlos.Salario = 2000;

            gerenciador.Registrar(carlos);

            Diretor larissa = new Diretor();
            larissa.Nome = "Larissa";
            larissa.CPF = "505.363.848-94";
            larissa.Salario = 5000;

            Funcionario larissaTeste = larissa;

            Console.WriteLine("Bonificação de uma referencia de Diretor: " + larissa.GetBonificacao());
            Console.WriteLine("Bonificação de uma referencia de funcionario: " + larissaTeste.GetBonificacao());

            gerenciador.Registrar(larissa);

            Console.WriteLine(carlos.Nome);
            Console.WriteLine(carlos.GetBonificacao());

            Console.WriteLine(larissa.Nome);
            Console.WriteLine(larissa.GetBonificacao());

            Console.WriteLine("Total de bonificações: " + gerenciador.GetTotalBonificacao());


            Console.ReadLine();
        }
    }
}

Devo copiar e colar o Program no programBase ?

solução!

Olá, Este erro é pq vc esta tentando passar um objeto do tipo Console como parâmetro para o método Main

para resolver basta remover:

//de:
public static void Main(string[] args, Console console)
//para:
public static void Main(string[] args)

Realizando este ajuste no seu código em toda a solution vai fazer com que seja possível compilar e executar corretamente