代码之家  ›  专栏  ›  技术社区  ›  open-collar

IEditableObject和IRevertibleChangeTracking有什么区别?

  •  23
  • open-collar  · 技术社区  · 16 年前

    两者有什么区别 IEditableObject IRevertibleChangeTracking (都来自System.ComponentModel命名空间)?看起来第一个支持显式事务,而第二个则更隐式—但最终结果是相同的。我应该如何在代码中实现它?现在我什么也不做 BeginEdit 打电话给我 RejectChanges 和 AcceptChanges EndEdit 和 CancelEdit 分别。我的问题是,这也将接受在BeginEdit之前所做的更改。

    这真的是微软想要的吗?还是我正在尝试实现两个互斥的接口?

    2 回复  |  直到 16 年前
        1
  •  28
  •   Community Mohan Dere    6 年前

    这两个接口不是互斥的。他们是 ,也可以由同一给定类实现。下面是一个简短的解释:

    这个 IEditableObject 接口设计用于支持对象需要 在编辑时以某种特定的方式管理其内部状态 .


    IRevertibleChangeTracking接口

    这个 IRevertibleChangeTracking 回滚到以前的状态 .

    接口具有一些方法,这些方法标记对象的当前状态何时应变为永久状态或何时应恢复为上一个已知的永久状态。

        2
  •  1
  •   Jonathan Allen    11 年前

    IRevertibleChangeTracking 用于长期、可恢复的更改,例如编辑记录和跟踪是否需要保存记录。

    推荐文章