ILinkedUndoContext.BeginTransaction-Methode
Gruppieren Sie eine Reihe von Änderungen am Modell. Wenn eine Änderung fehlschlägt, können Sie die gesamte Gruppe abbrechen und das Modell bleibt unverändert. Rufen Sie Commit() auf, um die Transaktion abzuschließen. Wenn der Benutzer einen Rückgängigaufruf startet, wird ein Rollback für die gesamte Gruppe ausgeführt.
Namespace: Microsoft.VisualStudio.Modeling.ExtensionEnablement
Assembly: Microsoft.VisualStudio.Modeling.Sdk.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)
Syntax
'Declaration
Function BeginTransaction ( _
description As String _
) As ILinkedUndoTransaction
ILinkedUndoTransaction BeginTransaction(
string description
)
Parameter
- description
Typ: System.String
Eine Zeichenfolge, die die Transaktion identifiziert.
Rückgabewert
Typ: Microsoft.VisualStudio.Modeling.ExtensionEnablement.ILinkedUndoTransaction
Die neue Transaktion.Wenn die Änderungen abgeschlossen sind, führen Sie ein Commit oder Abbruch aus und geben Sie diese Transaktion frei.
Hinweise
Führen Sie diesen Vorgang im Initialisierer einer using-Klausel aus, dass die Transaktion verworfen wird, wenn Sie die Änderungen abgeschlossen wurden.
Eine Ausnahme, die innerhalb des Blocks using abgefangen wird, wird UML-Modelländerungen alle darin zurückzusetzen. Beachten Sie, dass dies nur auf Änderungen im UML-Modell gilt, und nicht auf Änderungen, die anderen Variablen, externe Datenbanken, Dateien vorgenommen wurden, u. a.
Transaktionen können geschachtelt werden.
Weitere Informationen finden Sie unter Gewusst wie: Verknüpfen von Modellaktualisierungen mithilfe von Transaktionen.
Beispiele
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-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
Referenz
ILinkedUndoContext Schnittstelle
Microsoft.VisualStudio.Modeling.ExtensionEnablement-Namespace