モデルに一連の変更をグループ化します。変更が失敗すると、モデルの変更に使用するグループ全体を中止できます。トランザクションの完了にコミット () を呼び出します。ユーザーの呼び出し元が、グループ全体コピーされます。
名前空間: Microsoft.VisualStudio.Modeling.ExtensionEnablement
アセンブリ: Microsoft.VisualStudio.Modeling.Sdk.11.0 (Microsoft.VisualStudio.Modeling.Sdk.11.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 セキュリティ
- 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。