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) を呼び出すことで、ユーザーに確認せずにファイルを保存するかどうかを制御できます。
そのほうがよさそうですか?