2

在我的 WinForm 中,我有一个方法可以检查各种用户控件的验证并将它们添加到 errorList。当用户单击保存按钮时,我希望它检查验证方法并在消息框中显示错误(如果有)。Validate 方法是另一种形式和类,所以我认为这可能是我的问题。

 private void Save_Click(object sender, EventArgs e)
    {
        var errorList = string.Join(Environment.NewLine, Validate.ToArray());
        MessageBox.Show(errorSet);

    }

感谢您的任何帮助。

4

3 回答 3

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());

这只是一个问题。该方法有一个 type 参数List<string>,但您没有将参数传递给函数。

另外,您在评论中说返回值是 type bool,但您似乎希望它返回一个字符串集合。

于 2013-08-01T11:55:17.547 回答
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);

    }
于 2013-08-01T11:17:56.887 回答
0

有时此错误意味着您可能在程序范围内具有相同名称的相同方法。MessageBox检查您的程序中是否不存在其他名为的函数

于 2014-08-01T05:05:46.010 回答