C#错误 - 并非所有代码路径都返回值

时间:2015-11-28 23:41:07

标签: c# class methods

所以我知道有这个名字有这样的帖子,但其他帖子没有帮我找到解决我问题的方法。 我有1个Form和4个Class with methods,并且它在名为Costs的Class中遇到问题,得到所有其他3个Class并放入他。 我将在这里发布四个课程。

头等舱 - Alimentaçao

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Projeto_CustosViagem
{
    class Alimentaçao
    {
        private String descriçao { get; set; }
        private double valorTotal { get; set; }
        private String nomeRestaurante { get; set; }

        public Alimentaçao()
        {
            valorTotal = 0;
        }

        public void calcularDespesa(int qtdeRef)
        {
            valorTotal = qtdeRef * 18;
        }

        public void listarDespesa()
        {
            MessageBox.Show("Descrição : " + descriçao + "Valor Total = " + valorTotal + "Nome do Restaurante : " + nomeRestaurante);
        }


    }
}

第二类 - Transporte

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Projeto_CustosViagem
{
    class Transporte
    {
        private double kmPercorrida { get; set; }
        private double valorPedagios { get; set; }
        private double valorTotal { get; set; }


        public Transporte() {
            kmPercorrida = 0;
            valorPedagios = 0;
            valorTotal = 0;
        }

        public void calcularDespesa()
        {
            valorTotal = (kmPercorrida * 8);
        }


        public void listarDespesa()
        {
            MessageBox.Show("Km Percorridos : " + kmPercorrida + "Valor dos Pedagios : " + valorPedagios + "Valor Total : " + valorTotal);
        }

    }


}

第三类 - Hospedagem

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Projeto_CustosViagem
{
    class Hospedagem
    {
        private String nomeHotel { get; set; }
        private double valorDiaria { get; set; }
        private int qtdeDiarias { get; set; }
        private double valorTotal { get; set; }


        public Hospedagem()
        {
            valorDiaria = 0;
            qtdeDiarias = 0;
            valorTotal = 0;
        }


        public void calcularDespesa()
        {
            valorTotal = (qtdeDiarias * valorDiaria);
        }

        public void listarDespesa()
        {
            MessageBox.Show("Nome do Hotel : " + nomeHotel + "Valor da Diária : " + valorDiaria + "Quantidade de Diárias : " + qtdeDiarias + "Valor total : " + valorTotal);
        }
    }
}

四类 - Custos(问题在哪里)

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

namespace Projeto_CustosViagem
{
    class Custos
    {
        public double totalViagem(Alimentaçao A, Transporte T, Hospedagem H)
        {

        }
    }
}

如果你们可以帮助我,我会感谢。问题是并非所有代码路径都返回一个值。

1 个答案:

答案 0 :(得分:3)

你的方法“totalViagem”没有返回任何东西,你已经将它的返回类型设置为double但它没有返回任何内容,那就是你的问题