ILinkedUndoTransaction 接口

事务允许将 UML 模型存储区的操作组合到一起,因此,如果任何一个失败,整个组都将回滚。 提交该事务后,该用户可以撤消有单个撤消命令的整个组。

命名空间:  Microsoft.VisualStudio.Modeling.ExtensionEnablement
程序集:  Microsoft.VisualStudio.Modeling.Sdk.12.0(在 Microsoft.VisualStudio.Modeling.Sdk.12.0.dll 中)

语法

声明
Public Interface ILinkedUndoTransaction _
    Inherits IDisposable
public interface ILinkedUndoTransaction : IDisposable

ILinkedUndoTransaction 类型公开以下成员。

属性

  名称 说明
公共属性 Id BeginTransaction 设置的此事务的名称。

页首

方法

  名称 说明
公共方法 Abort 自事务生成起撤销已出现的模型存储区的所有更改。不提交但释放事务有同样的效果。中止不会撤消对其他程序变量或外部资源的更改。
公共方法 Commit 完成该事务,以便在释放时,在其中执行的操作不会被撤消。
公共方法 Dispose 执行与释放或重置非托管资源相关的应用程序定义的任务。 (继承自 IDisposable。)

页首

备注

在 Visual Studio 扩展,则可以获取ILinkedUndoTransaction 可以创建的上下文如下所示:

[Import]
public ILinkedUndoContext LinkedUndoContext { get; set; }

在方法中,可以创建从此上下文的事务:

using (ILinkedUndoTransaction transaction =
              LinkedUndoContext.BeginTransaction("Swap names"))
{ 
    Operation1();
    Operation2();
    transaction.Commit(); // Always remember Commit()!
}

未捕获 using 内的异常块将导致在其中的任何 UML 模型更改回滚。 请注意这仅适用于 UML 模型中的更改,而不是对其他变量的更改,外部数据库,文件,等等。

事务可以嵌套。

有关详细信息,请参阅 如何:使用事务链接模型更新

请参阅

参考

Microsoft.VisualStudio.Modeling.ExtensionEnablement 命名空间