Partager via


ILinkedUndoTransaction, interface

Transaction vous permet de regrouper des opérations sur le magasin de modèles UML, de sorte que si l'une d'entre elles échoue, l'ensemble du groupe est restauré. Une fois la transaction validée, l'utilisateur peut annuler l'ensemble du groupe avec une seule commande d'annulation.

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
Public Interface ILinkedUndoTransaction _
    Inherits IDisposable
public interface ILinkedUndoTransaction : IDisposable

Le type ILinkedUndoTransaction expose les membres suivants.

Propriétés

  Nom Description
Propriété publique Id Nom de cette transaction définie par BeginTransaction.

Début

Méthodes

  Nom Description
Méthode publique Abort Annule toutes les modifications apportées au magasin de modèles depuis la création de la transaction.La suppression de la transaction sans la validation a le même effet.Abandonner n'annule pas les modifications apportées à d'autres variables de programme, ni à des ressources externes.
Méthode publique Commit Exécute la transaction de sorte que lorsqu'elle est supprimée, les opérations exécutées dans celle-ci ne sont pas annulées.
Méthode publique Dispose Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées. (Hérité de IDisposable.)

Début

Notes

Dans une extension de Visual Studio, vous pouvez obtenir un contexte dont ILinkedUndoTransaction peut être créé comme suit :

[Import]
public ILinkedUndoContext LinkedUndoContext { get; set; }

Dans une méthode, vous pouvez créer une transaction de ce contexte :

using (ILinkedUndoTransaction transaction =
              LinkedUndoContext.BeginTransaction("Swap names"))
{ 
    Operation1();
    Operation2();
    transaction.Commit(); // Always remember Commit()!
}

Une exception qui n'est pas interceptée dans le bloc d'using entraîne toute modification de modèle UML à l'intérieur de celle-ci pour être annulée. Notez que cela s'applique uniquement aux modifications dans le modèle UML, et non aux modifications apportées à d'autres variables, bases de données externes, fichiers, etc.

Les transactions peuvent être imbriquées.

Pour plus d'informations, consultez Comment : lier des mises à jour de modèles à l'aide de transactions.

Voir aussi

Référence

Microsoft.VisualStudio.Modeling.ExtensionEnablement, espace de noms