ILinkedUndoContext.BeginTransaction-Methode
Gruppieren Sie eine Reihe von Änderungen am Modell.Wenn eine Änderung verursacht, können Sie die gesamte Gruppe aus und ermöglicht das Abbrechen des Modells unverändert.Aufruf Commit(), um die Transaktion abzuschließen.Wenn der Benutzer rückgängig machen, wird ein Rollback für die gesamte Gruppe zurück.
Namespace: Microsoft.VisualStudio.Modeling.ExtensionEnablement
Assembly: Microsoft.VisualStudio.Modeling.Sdk.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.11.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 wurden, führen Sie ein Commit oder Abbruch und geben Sie dieser Transaktion frei.
Hinweise
Führen Sie diesen Vorgang im Initialisierer einer using-Klausel aus, um sicherzustellen, dass die Transaktion freigegeben wird, wenn Sie die Änderungen abgeschlossen wurde.
Eine Ausnahme, die nicht innerhalb des using-Block abgefangen wird, bewirkt, dass alle Änderungen des UML-Modells darin zurückzusetzen.Beachten Sie, dass dies nur für Änderungen im UML-Modell gilt, und nicht zu den Änderungen, die an anderen Variablen, externe Datenbanken, Dateien vorgenommen wurden usw.
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