只有赋值,调用,递增,递减和新对象表达式才能用作语句

时间:2012-08-07 02:48:35

标签: c#

我创建了一个名为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中的下划线也是试试=符号和;标志说只有赋值,调用,递增,递减和新对象表达式才能用作语句。对不起,如果这很难理解,但我非常感谢那些可以提供帮助的人:D

3 个答案:

答案 0 :(得分: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;

答案 1 :(得分:3)

try关键字,您应该为对象使用其他名称(或类似_try

答案 2 :(得分:2)

试试这个:

Checker _try = new Checker();