Partager via


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

Voir aussi

Référence

ILinkedUndoContext Interface

Microsoft.VisualStudio.Modeling.ExtensionEnablement, espace de noms