publicclassRecorderTest:Test{IOperationRecorderModule module {get{return Framework.env0.modules.Recoder;}}intvalue=0;protectedoverridevoidStart(){
Log.L("按下 A/D 切换状态");
Log.L($"The value is {value}");
module.AllocateAction().SetCommand(()=>{value++;},()=>{value--;}).Subscribe();
Log.L($"The value is {value}");
module.AllocateAction().SetCommand(()=>{value+=4;},()=>{value-=4;}).Subscribe();
Log.L($"The value is {value}");
module.AllocateAction().SetCommand(()=>{value+=8;},()=>{value-=8;}).Subscribe();
Log.L($"The value is {value}");}protectedoverridevoidStop(){}protectedoverridevoidUpdate(){if(Console.ReadKey().Key == ConsoleKey.A){bool bo = module.Undo();
Log.L("");
Log.L($"Undo success {bo}");
Log.L($"The value is {value}");}if(Console.ReadKey().Key == ConsoleKey.D){bool bo = module.Redo();
Log.L("");
Log.L($"Redo sucess {bo}");
Log.L($"The value is {value}");}}}
在开头 我们发现,基本是个软件,都有 ctrl+Z 和 ctrl+shift+z 如果没有,这软件还能用? 介于这个功能很常见,IF 提供了简易版本上马 public class RecorderTest : Test { IOperationRecorderModule module { get { return Framework.env0.modules.Recoder; } } int value = 0; protected ov