ILinkedUndoContext.BeginTransaction, méthode

Groupez une série de modifications au modèle.Si toute modification échoue, vous pouvez interrompre le groupe entière, en laissant le modèle inchangé.Appelez la validation () pour compléter la transaction.Si la phase de restauration d'appels d'utilisateur, le groupe entière sera dos restaurée.

Espace de noms :  Microsoft.VisualStudio.Modeling.ExtensionEnablement
Assembly :  Microsoft.VisualStudio.Modeling.Sdk.11.0 (dans Microsoft.VisualStudio.Modeling.Sdk.11.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
La nouvelle transaction.Lorsque vos modifications sont terminées, validez ou suspend, et préparez cette transaction.

Notes

Exécutez cette opération dans l'initialiseur d'une clause d'using, vous assurer que la transaction est supprimée lorsque vous avez fini vos modifications.

Une exception qui n'est pas interceptée à l'intérieur du bloc d'using provoquera toutes les modifications de modèle UML à l'intérieur de celle-ci pour être dos restaurée.Notez que cela s'applique uniquement aux modifications dans le modèle UML, et non vers les modifications apportées à d'autres variables, bases de données externes, fichiers, et ainsi de suite.

Des 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