深入理解N级撤销功能
在软件开发中,撤销操作是一个非常实用的功能,它能让用户在操作失误或者想要回退到之前状态时轻松恢复。本文将详细介绍N级撤销功能的实现,涉及到 BusinessBase 和 BusinessListBase 类中的相关方法和逻辑。
1. BusinessBase 类的撤销功能
UndoableBase 类承担了大部分支持撤销功能的工作,但 BusinessBase 类也包含了一些方法,使可编辑对象能够参与撤销过程。 BusinessBase 实现了 ISupportUndo 接口,提供了如 BeginEdit() 、 CancelEdit() 和 ApplyEdit() 等公共方法,用于手动调用撤销功能。
1.1 BeginEdit() 方法
public void BeginEdit()
{
CopyState(this.EditLevel + 1);
}
当业务或UI开发人员显式调用 BeginEdit() 时,对象会对其状态进行快照,并将该调用级联到其子对象。需要注意的是,手动调用 CopyState() 时,必须传入一个表示未来编辑级别的参数
超级会员免费看
订阅专栏 解锁全文
929

被折叠的 条评论
为什么被折叠?



