C# 转换为十进制

C# 转换为十进制,c#,converter,C#,Converter,我有一个BuyPopcorn方法,它有一个十进制参数。它应该返回爆米花 public Popcorn BuyPopcorn(decimal payment) { Popcorn popcorn = this.AddMoney(payment); return popcorn; } 这就是我目前所拥有的。除非我得到一个错误,说不能将类型void转换为theateEngine.Popcorn. 它应该将付款传递

我有一个
BuyPopcorn
方法,它有一个十进制参数。它应该返回
爆米花

public Popcorn BuyPopcorn(decimal payment)
        {
            Popcorn popcorn = this.AddMoney(payment);    
            return popcorn;
        }
这就是我目前所拥有的。除非我得到一个错误,说不能将类型
void
转换为
theateEngine.Popcorn.

它应该将付款传递给我的
AddMoney
方法,并将
爆米花
返回给购买它的客人。我如何进行转换

这是我的
AddMoney
方法,以备不时之需。它不返回任何内容

        /// Add the money
        /// </summary>
        /// <param name="amountToAdd">amount added</param>
        public void AddMoney(decimal amountToAdd)
        {
            this.moneyBox.AddMoney(amountToAdd);
        }
///添加钱
/// 
///添加量
公共无效添加货币(十进制金额添加)
{
这个.moneyBox.AddMoney(amountToAdd);
}

显然,
AddMoney
方法不会返回任何内容(void)。它需要返回一个
Popcorn
对象,代码才能工作,因为您不能将
void
分配给
Popcorn
引用

AddMoney
没有做任何重要的事情(据我所知)来阻止
爆米花被退回。因此,您的方法可以是:

public Popcorn BuyPopcorn(decimal payment)
{
     AddMoney(payment);    
     return new Popcorn();
}

对就是这样。我忘了做一个新的爆米花。新手失误!谢谢@特拉维斯:没问题。我猜你需要做一些事情,比如检查付款是否足够,等等,但这会让你走。很乐意帮忙!