将对模型的一系列更改进行分组。 如果任何更改失败,则可以中止整个组,保持模型不变。 调用提交 () 完成该事务。 如果用户调用了撤销操作,则整个组将被回滚。
命名空间: Microsoft.VisualStudio.Modeling.ExtensionEnablement
程序集: Microsoft.VisualStudio.Modeling.Sdk.12.0(在 Microsoft.VisualStudio.Modeling.Sdk.12.0.dll 中)
语法
声明
Function BeginTransaction ( _
description As String _
) As ILinkedUndoTransaction
ILinkedUndoTransaction BeginTransaction(
string description
)
参数
- description
类型:System.String
识别此事务的任何字符串。
返回值
类型:Microsoft.VisualStudio.Modeling.ExtensionEnablement.ILinkedUndoTransaction
新事务。当您的更改完成后,对此事务进行提交、中止和处置。
备注
执行此操作将 using 子句中的初始化表达式,确保释放了事务,当完成更改时。
没有捕获 using 块中的异常将导致在该内任何 UML 模型更改回滚。 注意这仅适用于对 UML 模型的更改,而不是对其他变量,外部数据库,则对文件的更改,依此类推。
可以嵌套事务。
有关详细信息,请参阅如何:使用事务链接模型更新。
示例
try
{
using (ILinkedUndoTransaction transaction =
LinkedUndoContext.BeginTransaction("Swap names"))
{
Operation1();
Operation2();
// Any exception in the preceding statements
// will undo all of the changes in the model.
transaction.Commit(); // Always remember Commit()!
}
}
catch ()
{
// If control reaches here,
// Operation1 and Operation2 have
// made no change to the model.
}
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关详细信息,请参阅通过部分受信任的代码使用库。