ILinkedUndoContext.BeginTransaction 方法
將一系列變更群組到模型中。 如果任何變更失敗,您可以中止整個群組,模型會保持不變。 呼叫 Commit() 以完成異動。 如果使用者呼叫復原,將會回復整個群組。
命名空間: 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 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。