入力検証用のフラグ列挙型のリストがあり、検証の一部として列挙型の 1 つを返したいと考えています。これまでのところ、これが私が思いついたものです...
これらは私の列挙型です。
[Flags]
public enum CheckInput
{
Not_Valid,
OK,
No_First_Name,
No_Last_Name,
No_Password,
Wrong_Password
};
これは、列挙型が使用されているときにメッセージを表示するための私のスイッチです
public void ValidInputSwitch()
{
CheckInput Status = CheckInput.Not_Valid;
do
{
switch (Status)
{
case CheckInput.No_First_Name:
MessageBox.Show("Please enter your first name.");
break;
case CheckInput.No_Last_Name:
MessageBox.Show("Please enter your last name.");
break;
case CheckInput.No_Password:
MessageBox.Show("Please enter your password.");
break;
case CheckInput.Wrong_Password:
MessageBox.Show("Your passwords do not match!");
break;
case CheckInput.OK:
CheckUserName(Uname);
break;
default:
break;
}
}
while (Status != CheckInput.OK);
}
ここに私の問題があります。入力を検証し、列挙型を返して、スイッチで実行し、そこにあるメッセージを表示できるようにしたい
public CheckInput InputCheck
{
{
if (firstNameTxt.Text == null || firstNameTxt.Text == "") { return CheckInput.No_First_Name; }
}
}
私は実際にこのアイデアを最終的に放棄し、「エラー報告」を使用しました。私はこの方法をうまく機能させることができませんでした。間違いなく私の知識不足のせいです。いつの日か、抱えていた問題を解決したいと願っています。