我有一個方法DoCleanUp(),它會要求用戶繼續並清除當前工作區。如果用戶選擇取消該過程,它將返回。「應取消」的返回值
我的問題是,哪個簽名最好表示「取消」?
bool DoCleanUp(); // return false to indicate canceled.
bool DoCleanUp(); // return true to indicate this method should be canceled.
void DoCleanUp(bool& cancel); // check parameter 'cancel' to see if this method was canceled.
更新:至於語言,這是C++ \ CLI或C#。
UPDATE2:現在假設我必須在DoCleanUp方法中保存一個文件。我會提示用戶詢問用戶是否保存/不保存/取消文件。根據答案,這裏是我想出了:
void DoCleanUp();
DialogResult AskToSaveFile(); // return yes/no/cancel
void DoCleanUp(bool saveFile);
用法:
void DoCleanUp()
{
DialogResult result = AskToSaveFile();
if(result == DialogResult::Cancel) return;
bool saveFile = (result == DialogResult::Yes) ? true : false;
DoCleanUp(saveFile);
}
然後通過調用DoCleanUp(),你知道用戶將有機會取消;
通過調用DoCleanUp(bool saveFile),您可以控制是否在不詢問用戶的情況下保存文件。
這看起來更好嗎?
什麼語言嗎?德爾福? C? C++? C#? – 2009-12-28 19:50:43
獨立語言...這是直接從代碼完成,閱讀我的答案下面。 – Martin 2009-12-28 20:32:25