方法'GetDouble'的C#没有重载需要1个参数

时间:2013-05-30 19:43:44

标签: c# overloading

我试图使用这个名为GetDouble的方法,但我不断收到错误“方法'没有重载'GetDouble'需要1个参数”,我不知道如何修复它。

 public static bool GetDouble(string StringToConvert, out double dblOutValue)
    {
        return double.TryParse(StringToConvert, out dblOutValue);
    }

我从这个方法中调用它

 private bool ReadAndValidatePrice(out double price)
    {
        price = 0.0;

        if (!InputUtility.GetDouble(txtPrice.Text))
        {

        }
    }

任何试图修复它的帮助都是非常好的,谢谢。

4 个答案:

答案 0 :(得分:4)

由于错误试图告诉您,GetDouble()需要两个参数。

第二个参数是out参数,这意味着它将设置您传递给它的变量。
调用它时,您必须使用out关键字传递变量。

答案 1 :(得分:1)

这里有一些问题。第一个是你的GetDouble方法。你想做什么?如果你想获得双倍(顾名思义)那么它应该更像是

public static double GetDouble(string StringToConvert)
{
    double dblOutValue;
    double.TryParse(StringToConvert, out dblOutValue);
    return dblOutValue;
}

然后查看ReadandValidatePrice方法。通过上述更改,它应该更像是:

private bool ReadAndValidatePrice(out double price)
{
    price = InputUtility.GetDouble(txtPrice.Text)

    //not sure if the IF statement is needed anymore so it is omitted
}
那是怎么回事?我的假设完全错了?

答案 2 :(得分:0)

你错过了一个参数,GetDouble()有两个参数。但是你传递了一个参数,所以你得到了那个错误。现在尝试以下方法而不是您的方法。

private bool ReadAndValidatePrice(out double price)
    {
        price = 0.0;

        if (!InputUtility.GetDouble(txtPrice.Text, out price ))
        {

        }
    }

答案 3 :(得分:0)

您的方法应如下所示,因为您的GetDouble()方法定义了两个参数:

private bool ReadAndValidatePrice(out double price)
{
    price = 0.0;

    if (!InputUtility.GetDouble(txtPrice.Text, out price))
    {

    }
}