У меня есть список флагов для проверки ввода, я хочу вернуть одно из перечислений в качестве части моей проверки. Пока это то, что я придумал ...
Это мои перечисления.Я хочу знать, могу ли я использовать флаг перечисления и возвращать параметр перечисления в другом классе
[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; }
}
}
я фактически отказался от этой идеи, в конце концов, и используется «Отчеты об ошибках». Я не мог заставить этот метод работать для меня. Определенно из-за моей нехватки знаний. Однажды я надеюсь, что решит проблему, которая у меня была.
'Status = InputCheck();', просто добавьте его после включения и до в то время как. – Gusman
Не тот же вопрос, но хороший ответ с хорошим примером http://stackoverflow.com/questions/8447/what-does-the-flags-enum-attribute-mean-in-c –
В качестве отдельного аспекта рассмотрим использование сопоставления как «Словарь» для сопоставления значений перечисления вызовам методов вместо коммутатора –