2017-05-07 63 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