is there any difference between return void and not return in a void function
这里的情况:我在我的程序中调用了一个void函数,它提供了一个带有OK和Cancel的消息框,但是这个函数被封装了。我需要知道用户点击了什么。
那么我有没有劫持这个函数来知道用户的选择?
或者我认为程序员在编写这个函数时,必须在用户点击取消时返回一个void,而在用户点击确定时什么都没有返回。有没有可能我可以区分这两个动作 - 返回 void 并且不返回任何内容?
我知道这似乎是不可能的,但这就是为什么我来stackoverflow问你们。
谢谢
返回 void 的函数只有一个返回 - 无返回 - 因此无返回或返回
没有区别
如果您无法更改现有功能并且它所做的只是显示一个 MessageBox,如果我是您,我会废弃它并重新开始。
你想要的是这样的:
1 2 3 4 | public DialogResult GetDialogResult(string message, string caption) { return MessageBox.Show(message, caption, MessageBoxButtons.OKCancel); } |
用你想要的消息和标题调用它,你会得到
的返回
如果它不仅仅是显示消息框,您唯一的选择是检查函数在单击"确定"时所做的任何更改,例如:
- 如果只有在按下 OK 时才将记录添加到数据库中,请检查该记录
-
如果对象的状态发生变化,请检查该变化:
1
2
3
4
5
6
7
8
9OtherObject.SetValueIfOK(2);
if (OtherObject.GetValue() == 2)
{
// OK was clicked
}
else
{
// Cancel was clicked
}
其他任何事情,我认为你可能不走运。
"Returning void"(你会写成
你想返回类似