UndoRedo的C#实现方式