0

我创建了一个名为 Checker 的类。这是代码:

namespace WindowsFormsApplication1
{ 
    public class Checker
    {
        int CheckAdminEdit(Object Temp,int counter,int allow)
        {
            int _counter = counter;
            int _allow = allow;
            Admin _Temp = Temp as Admin;

            foreach (Control c in _Temp.edit_admin.Controls)
            {
                if (c is TextBox)
                {
                    TextBox textBox = c as TextBox;
                    if (textBox.Text.Equals(string.Empty))
                    {
                        _Temp.errorProvider1.SetIconPadding(textBox, 0);
                         _Temp.errorProvider1.SetError(textBox, "Field Empty");
                        _allow++;
                    }
                    else
                    {
                        _Temp.errorProvider1.SetIconPadding(textBox, 666);
                        if (textBox.Name == "textBox6")
                        {
                            if( CheckEmail(textBox.Text))
                                _Temp.errorProvider2.SetIconPadding(textBox, 666);
                            else
                            {
                                _Temp.errorProvider2.SetError(textBox, "Invalid email syntax");
                                _counter++;
                            }
                        }
                    }
                }
            }

            return (allow + counter);
        }

        private bool CheckEmail(string EmailAddress)
        {
            string strPattern = "^([0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})$";

            if (System.Text.RegularExpressions.Regex.IsMatch(EmailAddress, strPattern))
                return true;

            return false;
        }
    }
}

在我的表单中,我试图用以下方式声明类:

Checker try = new Checker;

但是第一个 Checker 还强调了 try = 符号和 ; 表示只有赋值、调用、递增、递减和新对象表达式可以用作语句。对不起,如果这很难理解,但我非常感谢那些可以提供帮助的人:D

4

3 回答 3

4

您没有使用括号在运算符()之后调用构造函数new。这就是你得到Only assignment, call, increment, decrement, and new object expressions can be used as a statement错误的原因。

此外,try 是一个不能用作变量名的关键字。

你可以这样做

Checker @try = new Checker();

或者

Checker _try = new Checker();

在这种情况下,您将不得不像这样访问它

@try._counter = 0;

或者

_try._counter = 0;
于 2012-08-07T02:54:36.097 回答
3

try关键字,您应该为对象使用另一个名称(或类似的名称_try

于 2012-08-07T02:56:02.533 回答
2

尝试这个:

Checker _try = new Checker();
于 2012-08-07T02:56:06.277 回答