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

Erro CS00019

Olá! Primeiramente gostaria de falar que o curso está simplesmente fantástico!

Encontrei este nerro e a famosa googlada não conseguiu me ajudar desta vez:

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

namespace ByteBankFoo
{
    public class GerenciadorBonificacao
    {
        private double _totalBonificacao;

        public void Registrar(Funcionario funcionario)
        {

            _totalBonificacao += funcionario.GetBonificacao();
        }

        public double GetTotalBonificacao()
        {
            return _totalBonificacao;
        }
    }
}

Pelo que entendi o operador += não é válido para operações com tipos private e void, poderiam me ajudar?

6 respostas

Verifique o retorno do .GetBonificacao, ele deve ser um retorno double, int. etc. Coloque a Classe funcionario aqui tambem. Para ver como esta escrito.

deve ser algo assim : public double getBonificacao{}

namespace ByteBankFoo.Funcionarios
{
    public class funcionario
    {


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


        public double GetBonificacao()
        {


            return Salario * 0.10;
        }


    }
}

Primeiramente muito obrigado pela resposta, acima está o código da classe funcionario , pelo que entendi está declarada como um double devo estar deixando algum detalhe passar, estou verificando as outras classes

solução!

De uma olhada aqui: https://dotnetfiddle.net/rLukvZ

Mas acredito, que esteja faltando codigo ainda.. Porque, nao obtive esse erro.

Unico problema no seu codigo ate agora eh o f de funcionario da classe.

Passe de f -> F

public class Funcionario

Resolveu!! Quando eu mudei de f minúsculo para maiúsculo, acho que estava referenciando alguma parte do funcionário com F maiúsculo e na classe em si estava em minúsculo.

Muito Obrigado!!

Por nada. E toda linguagem tem um boa pratica.

Exemplo: Classes sempre com nome Maisculo Nao abreviar variaveis e por ai vai.

Segue doc para dar uma lida https://docs.microsoft.com/pt-br/dotnet/csharp/fundamentals/coding-style/coding-conventions

Muitas linguagens sao case Sensitive, entao Diferencia maiuscula de minuscula.

Olá, tive o mesmo problema CS0019 , ele diz que o "operador "*" não pode ser aplicado em a operandos dos tipos "string" e "double". Tentei revisar e também copiar o código direto doa aula mas continuar a dar erro.

public double GetBonificacao()
{
    return Salario * 0.10;
}