.NET 中对象的 N 级撤销功能实现
在软件开发中,撤销操作是一个常见且实用的功能。在 .NET 环境中,实现对象的 N 级撤销功能涉及多个方面的知识和技术。下面将详细介绍如何实现这一功能。
1. 基础类与接口
UndoableBase 类是处理对象 N 级撤销的核心类。它大量使用反射来查找业务对象中的所有字段,对其值进行快照,并在撤销操作时恢复这些值。由于 BusinessBase 最终会从 UndoableBase 派生,所以 UndoableBase 必须标记为 Serializable ,并且声明为抽象类,防止直接创建其实例。同时,所有业务对象需要继承 BindableBase 以利用 INotifyPropertyChanged 接口,并且实现 Csla.Core.IUndoableObject 接口来支持 N 级撤销功能。其代码定义如下:
[Serializable]
public abstract class UndoableBase : Csla.Core.BindableBase,
Csla.Core.IUndoableObject
{
}
2. 撤销功能的三个操作
实现撤销功能主要涉及三个操作,分别由三个方法实现:
- CopyState() :对对象
.NET 中对象 N 级撤销功能实现
超级会员免费看
订阅专栏 解锁全文
26

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



