我正在尝试验证一个文本框。我已经验证了其他几个文本框,它们工作正常。这个有一些错误。 我的代码对我来说是正确的。有人请指出我的错误并告诉我为什么Visual Studio 2010会在当前上下文中提示无效参数和变量的错误:
答案 0 :(得分:3)
在致电string errorMsg;
之前,您需要在addTextBox_Validating
函数中定义ValidAddress
。
答案 1 :(得分:1)
在将errorMsg变量用作out参数之前,需要先定义它。
string errorMsg;
答案 2 :(得分:1)
虽然作为out参数传递的变量不需要在传递之前初始化,但是调用方法需要在方法返回之前分配一个值。
class OutExample
{
static void Method(out int i)
{
i = 44;
}
static void Main()
{
int value;
Method(out value);
// value is now 44
}
}
答案 3 :(得分:1)
您需要将字符串作为第二个参数传递给ValidAddress。尝试添加
string errorMsg = null;
作为addTextBox_Validating()的第一行
答案 4 :(得分:0)
您尚未声明errorMsg字符串。
private void addTextBox_Validating (object sender, CancelEventArgs e)
{
string errorMsg = "";
...etc
}
在ValidAddress中,errorMsg字符串作为参数传递给函数,因此不会出现此问题。
答案 5 :(得分:0)
据我所见,errorMsg未在任何地方声明。
尝试通过为其添加声明来更改 addTextBox_Validating
e.g。
var errorMsg = string.Empty;
if (!ValidAddress(...
out变量需要在使用它的上下文中声明。
hth
艾伦。
答案 6 :(得分:-1)
errorMsg
在哪里定义?看起来它作为参数发送到ValidAddress
,因此addTextBox_Validating
完全是一个不同的方法,无法访问它,因为errorMsg
的作用域仅存在于ValidAddress
中{1}}。长话短说,你还没有初始化你的变量。