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 | |
---|---|---|
Id | Nom de cette transaction définie par BeginTransaction. |
Début
Méthodes
Nom | Description | |
---|---|---|
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. | |
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. | |
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