ILinkedUndoContext.BeginTransaction, méthode
Regroupe une série de modifications apportées au modèle. Si toute modification échoue, vous pouvez interrompre le groupe entier, en laissant le modèle inchangé. Appelez Commit() pour terminer la transaction. Si l'utilisateur appelle l'annulation, l'ensemble du groupe sera restauré.
Espace de noms : Microsoft.VisualStudio.Modeling.ExtensionEnablement
Assembly : Microsoft.VisualStudio.Modeling.Sdk.12.0 (dans Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)
Syntaxe
'Déclaration
Function BeginTransaction ( _
description As String _
) As ILinkedUndoTransaction
ILinkedUndoTransaction BeginTransaction(
string description
)
Paramètres
- description
Type : System.String
Toute chaîne qui identifie la transaction.
Valeur de retour
Type : Microsoft.VisualStudio.Modeling.ExtensionEnablement.ILinkedUndoTransaction
Nouvelle transaction.Lorsque vos modifications sont terminées, elles doivent être validées ou abandonnées et cette transaction doit être supprimée.
Notes
Effectuez cette opération dans l'initialiseur d'une clause d'using, pour vérifier que la transaction est préparée lorsque vous avez terminé vos modifications.
Une exception qui n'est pas interceptée dans le bloc d'using entraîne les modifications du modèle UML dans elle soit annulée. Notez que cela s'applique uniquement aux modifications sur le modèle UML, et non aux modifications apportées à d'autres variables, à des bases de données externes, fichiers, et ainsi de suite.
Les transactions peuvent être imbriquées.
Pour plus d'informations, consultez Comment : lier des mises à jour de modèles à l'aide de transactions.
Exemples
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.
}
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.
Voir aussi
Référence
Microsoft.VisualStudio.Modeling.ExtensionEnablement, espace de noms