我在测试函数的返回值时得到了奇怪的结果。此代码位于 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.Yes 但回到调用代码中,执行流向第二种情况,即“否”,这会继续,这是我不想要的。
在 StackOverflow 的其他地方,我看到一个线程建议像我为 DialogResult.Yes 编写的“失败”案例进行编码。
简而言之,如果是,我想在 switch case(s) 结束后使用下一条语句继续执行。也就是“落空”。
编辑 - 很抱歉混淆。是的,最上面的代码片段在 for 循环中。第二个片段位于被调用函数内(该代码发出 MessageBox.Show)。