-3

我试图使用这个名为 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

4 回答 4

4

正如错误试图告诉你的那样,GetDouble()需要两个参数。

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

于 2013-05-30T19:44:59.143 回答
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
}

那个怎么样?我的假设在哪里完全错误?

于 2013-05-30T19:51:43.223 回答
0

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

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

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

        }
    }
于 2013-05-30T19:45:23.363 回答
0

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

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

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

    }
}
于 2013-05-30T19:47:56.873 回答