Я получаю странные результаты, проверяя возвращаемое значение из функции. Этот код находится внутри цикла for:
DialogResult result = EvalReturnFromWS(returnMsg);
switch (result)
{
case DialogResult.Yes:
case DialogResult.No:
continue;
default:
break;
}
Вот фрагмент из вызванной функции (в моем модульном тестировании я всегда нажимаю кнопку «да»):
DialogResult result = MessageBox.Show(mbText.ToString(), caption, button, icon);
switch (result)
{
case DialogResult.Yes:
return DialogResult.Yes;
case DialogResult.No:
return DialogResult.No;
case DialogResult.Cancel:
return DialogResult.Cancel;
}
Когда я нажимаю «Да», он возвращает DialogResult. Да, но обратно в вызывающем коде выполнение переходит ко второму случаю, который является «нет», и это делает продолжение, что я НЕ собираюсь делать.
В другом месте в StackOverflow я видел поток, в котором предлагается кодировать «провальный» случай, как у меня для DialogResult. Да, он может провалиться.
Короче говоря, если ДА, я хочу возобновить выполнение с помощью следующего оператора после окончания случая (-ов) переключения. То есть «провалиться».
РЕДАКТИРОВАТЬ - извините за путаницу. Да, верхний фрагмент находится внутри цикла for. Второй фрагмент находится внутри вызываемой функции (этот код выдает MessageBox.Show).