2017-05-07 76 views
-3

我想创建与方法名getPrice() Visual Studio中的重载方法,这里是第一个重载方法我试图创建:创建重载方法

private double getPrice(double price) 
{ 
     int intQty = 1; 
     txtQty.Text = intQty.ToString(); 
     double dblSalesTax = 0; 
     lblSalesTax.Text = dblSalesTax.ToString(); 
     double dblPrice = double.Parse(txtPrice.Text); 
     txtPrice.Text = dblPrice.ToString("c"); 
} 

然而我对它的命名是关闭或东西它不断给我一个错误,不是所有的代码路径都返回一个double ..所以我不知道如何解决这个问题,这第一个重载方法应该只采用一个叫做price的参数,然后它应该默认为Qty 1和销售税为0,除了错误,我做了其他东西的任何正确或整个事情是错误的,或者我会如何解决?一旦我得到这个第一个参数集,我想我可以得到其他2个工作。

编辑

好,我改变了它有点...

private void btnCalculate_Click(object sender, EventArgs e) 
    { 
    getPrice(double price); 
    } 

private double getPrice(double price) 
{ 
    double dblQty = 1; 
    double dblSalesTax = 0; 
    double dblPrice = double.Parse(txtPrice.Text); 
    double dblTotal = (dblPrice * dblQty) *dblSalesTax; 
    lblTotal.Text = dblTotal.ToString("c"); 
    return dblTotal; 
    //lblSalesTax.Text = dblSalesTax.ToString(); 
    //double dblPrice = double.Parse(txtPrice.Text); 
    //txtPrice.Text = dblPrice.ToString("c"); 

} 

还有就是我现在,我该如何使用该参数的价格与它为什么当我尝试它错误把它放在btnCalculate_Click方法中?

+0

您没有使用函数内部的输入参数。在这种情况下,你可以有没有参数的功能。 –

+0

那么,从技术上说,你并没有创建一个重载方法。方法重载只能通过两种或更多方法来实现。 – elgonzo

+0

我应该用它返回数据,所以它必须是双重类型。我应该将这个价格返回到一个名为txtTotal的文本框,我没有添加到代码中,不太确定如何做到这一点,我可以只返回价格txtTotal.Text吗? – Jason

回答

1

你不需要参数。您不使用函数内传递的值。下面给出可以返回双重价值: `

private double getPrice() 
    { 
     int intQty = 1; 
     txtQty.Text = intQty.ToString(); 
     double dblSalesTax = 0; 
     lblSalesTax.Text = dblSalesTax.ToString(); 
     double dblPrice = double.Parse(txtPrice.Text); 
     txtPrice.Text = dblPrice.ToString("c"); 
     return Convert.ToDouble(txtPrice.Text); 

    } 

`

+0

我现在通过更改dblPrice添加了一个参数,我不得不使用价格,因为它已经是双倍的形式,然后我只是返回价格,因为我只需要返回价格,因为它默认为数量1所以价格*数量是一样的只是价格,但我仍然无法得到的方法为btnCalculate_Click工作,我试图把getPrice(双价),但它有一个错误 – Jason