在我的WinForm中,我有一个检查各种用户控件验证的方法,并将它们添加到errorList中。当用户单击保存按钮时,我希望它检查验证方法并在消息框中显示错误(如果有)。 Validate方法是另一种形式和类,所以我认为这可能是我的问题。
private void Save_Click(object sender, EventArgs e)
{
var errorList = string.Join(Environment.NewLine, Validate.ToArray());
MessageBox.Show(errorSet);
}
感谢您的帮助。
答案 0 :(得分:1)
错误'Form1.Validate(System.Collections.Generic.List<string>)' is a 'method', which is not valid in the given context
表示您使用的方法错误。
var errorList = string.Join(Environment.NewLine, Validate.ToArray());
毫无意义。你错过了括号:
var errorList = string.Join(Environment.NewLine, Validate().ToArray());
这只是一个问题。该方法的参数类型为List<string>
,但您不会将参数传递给函数。
另外,你在评论中说过,返回值的类型为bool
,但似乎你希望它返回一个字符串集合。
答案 1 :(得分:0)
您遇到此问题是因为您正在调用另一个表单上的validate方法而未提及该表单的实例。
假设你有另一个班级Class1。
//create instance of your class/form that has this method
OperationControl oc = new OperationControl ();
private void Save_Click(object sender, EventArgs e)
{
//call the method with form instance created above
var errorList = string.Join(Environment.NewLine, oc.Validate().ToArray());
MessageBox.Show(errorSet);
}
答案 2 :(得分:0)
有时这个错误意味着您可能在程序范围中使用相同名称的相同方法。检查程序中是否存在名为MessageBox
的其他函数