本渣菜鸟一枚,看了网上很多关于命令模式的文章,不过要么代码太多看不懂,要么不完整
所以我自己试着写了个简单的实现,用来实现文本框的撤销恢复功能。
public class cmd
{
//撤销表
private List<string> undoList = new List<string>();
//重做表
private List<string> redoList = new List<string>();
//最大撤销/重做次数
private int undoCount = -1;
//记录是否为撤销的记录,因为在execute函数里会造成重复
private bool und = false;
//记录当前需要撤销或回复的字符串
private string temp;
public cmd(int _undoCount)
{
//校正最大撤销/重做次数
undoCount = _undoCount + 1;
//上一句的原因
undoList.Add("");
}
public void execute(string command)
{
temp = command;
if (!und)
{
undoL