資源簡介
這是一個采用command模式的撤銷重做類,采用了list集合來存儲命令,這樣能限定容器的命令數(shù)量。
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
using?System.Threading.Tasks;
namespace?FYClassForCalculateDraft
{
??public??class?CommandManager
????{
????????#region?Command定義
????public?class?Command
????{
????????string?name;
???????public?Action?action;????//恢復委托
???????public??Action?unDoAction;????//撤銷委托
????????internal?Command(string?name?Action?action?Action?unDoAction)??????????????????//命令接口
????????{
????????????this.name?=?name;
????????????this.action?=?action;
????????????this.unDoAction?=?unDoAction;
????????}
????????internal?void?Do()?{?action();?}???????????????????????//恢復接口
????????internal?void?UnDo()?{?unDoAction();?}?????????????????????????//撤銷接口
????????public?override?string?ToString()??????????????????????????//重寫ToString()方法
????????{
????????????return?name.ToString();
????????}
????}
????#endregion
///?
///?重做命令集合
///?
????public?List?ReDoActionList?{?get;?private?set;?}???
??????///?
??????///?撤銷命令集合
??????///?
????public?List?UnDoActionList?{?get;?private?set;?}??????
///?
///?最大的命令個數(shù),為可空數(shù)據(jù)對象,如果不賦值,則最大命令個數(shù)沒有限制
///?
????int??maxCount;?????????????//最大的存儲數(shù)量
????///?
????///?最大的命令個數(shù),為可空數(shù)據(jù)對象,如果不賦值,則最大命令個數(shù)沒有限制,最小限制個數(shù)為5個
????///?
????public?int??MaxCount???????//最大的存儲數(shù)量如果輸入的數(shù)字<5最大數(shù)量=5,否則就是按最大數(shù)量
????{
????????get?{?return?maxCount;?}
????????set?{
????????????if?(value?5)
????????????????maxCount?=?5;?
????????????else
????????????maxCount?=?value;?}
????}
///?
///?根據(jù)最大命令個數(shù)構(gòu)造
///?
///?最大的命令個數(shù)
????public?CommandManager(int??count)???//創(chuàng)建構(gòu)造方法
????{
????????ReDoActionList?=?new?List();
????????UnDoActionList?=?new?List();
????????this.MaxCount?=?count;
????}
///?
///?直接構(gòu)造類,沒有命令限制
///?
????public?CommandManager()???//創(chuàng)建構(gòu)造方法
????{
????????ReDoActionList?=?new?List();
????????UnDoAc
- 上一篇:窗口截圖(可后臺截取DX窗口).rar
- 下一篇:C#與OPC 通訊
評論
共有 條評論