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

Erro CS0721

Alguém pode me ajudar não sei oq deu errado. Quando coloco "Console console" dentro do 'Main' da erro no main.

using ByteBank.Funcionarios;

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

            Funcionario carlos = new Funcionario();
            carlos.Nome = "Carlos";
            carlos.CPF = "546.879.157-20";
            carlos.Salario = 2000;

            gerenciador.Registrar(carlos);

            Diretor larissa = new Diretor();
            larissa.Nome = "Roberta";
            larissa.CPF = "454.658.148-3";
            larissa.Salario = 5000;

            Funcionario larissaTeste = larissa;

            Console.WriteLine("Bonificacao de uma referencia de Diretor: " + larissa.GetBonificacao());
            Console.WriteLine("Bonificacao de uma referencia de Funcionario: " + larissaTeste.GetBonificacao());


            gerenciador.Registrar(larissa: 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 System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ByteBank.Funcionarios
{
    public class Funcionario
    {
        public string Nome { get; set; }
        public string CPF { get; set; }
        public double Salario { get; set; }

        public virtual double GetBonificacao()
        {
            return Salario * 0.10;
        }
    }
}
namespace ByteBank.Funcionarios
{
    public class Diretor : Funcionario
    {
        public override double GetBonificacao()
        {
            return Salario + base.GetBonificacao();
        }
    }
}
using ByteBank.Funcionarios;

namespace ByteBank
{
    public class GerenciadorBonificacao
    {
        private double _totalBonificacao;

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

        public double GetTotalBonificacao()
        {
            return _totalBonificacao;
        }


    }

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

5 respostas

Oi Larissa, tudo bem?

O Console que é utilizado no Console.WriteLine... não é recebido no Main, ele já vem no System.

Oi Erick, tudo sim e vc ?

desculpa minha falta de conhecimento, mas oq eu faço entao ?

Oi, tudo bem também.

Quando você tira ele do Main começa a dar erro nos Console.WriteLine?

Se sim, no começo do arquivo tem o using System;?

using ByteBank.Funcionarios;
using System;

namespace ByteBank
{
    class Program
    {
        static void Main(string[] args)
        {
            GerenciadorBonificacao gerenciador = new GerenciadorBonificacao();

            Funcionario carlos = new Funcionario();
            carlos.Nome = "Carlos";
            carlos.CPF = "546.879.157-20";
            carlos.Salario = 2000;

            gerenciador.Registrar(carlos);

            Diretor larissa = new Diretor();
            larissa.Nome = "Larissa";
            larissa.CPF = "454.658.148-3";
            larissa.Salario = 5000;

            Funcionario larissaTeste = larissa;

            Console.WriteLine("Bonificacao de uma referencia de Diretor: " + larissa.GetBonificacao());
            Console.WriteLine("Bonificacao 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();

        }
    } 
    //obs Console fora do escopo do Main. 

    Console.WriteLine(larissa.Nome);
}

Quando coloco Console.WriteLine fora do Main da erro, mesmo com o System, e quando tiro a o 'Main' tbm da erro

solução!

Ai ele está fora até da Classe, não pode mesmo, geralmente só vai conseguir dentro de métodos, funções...

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