C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 28 を表示中)
■13286 / )  Re[4]: デリゲート実行順序の反転について
□投稿者/ Hirotow (156回)-(2008/01/26(Sat) 19:11:41)
No13283 (Tom Yama さん) に返信
> ■No13282 (Hirotow さん) に返信
>>Stack<Stack<UndoDelegate>> undoBuffer;
> これは?
> 何のために作っていて、どこで使うものなのでしょうか?
> 端折らないで、ちゃんと説明してください。
公開メソッドごとのごとの処理がローカル変数undoにスタックされ、
それをメソッド終了時にundoBufferにスタックしています。
アンドゥするときは、undoBufferから(上行のundoを)ひとつだけpopして、
それの中身をpopしつつ実行しています。
public void Undo()
{
    Stack<UndoDelegate> undo = undoBuffer.Pop();
    while(undo.Count > 0)
    {
        undo.pop()();
    }
}

返信 編集キー/


管理者用

- Child Tree -