我试图使用这个名为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))
{
}
}
任何试图修复它的帮助都是非常好的,谢谢。
答案 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))
{
}
}