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 も = 記号と ; を試してください。代入、呼び出し、インクリメント、デクリメント、および新しいオブジェクト式のみをステートメントとして使用できることを示す記号。分かりづらくて申し訳ありませんが、ご協力いただける方には大変感謝しております: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 に答える