Compartir a través de


ILinkedUndoTransaction (Interfaz)

Una transacción permite agrupar juntas operaciones en el almacén de modelos UML, de modo que si cualquiera de ellas da error, todo el grupo se revierte. Cuando la transacción se confirma, el usuario puede deshacer el grupo entero con un único comando de deshacer.

Espacio de nombres:  Microsoft.VisualStudio.Modeling.ExtensionEnablement
Ensamblado:  Microsoft.VisualStudio.Modeling.Sdk.12.0 (en Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)

Sintaxis

'Declaración
Public Interface ILinkedUndoTransaction _
    Inherits IDisposable
public interface ILinkedUndoTransaction : IDisposable

El tipo ILinkedUndoTransaction expone los siguientes miembros.

Propiedades

  Nombre Descripción
Propiedad pública Id Nombre de esta transacción que estableció BeginTransaction.

Arriba

Métodos

  Nombre Descripción
Método público Abort Deshacer todos los cambios al almacén de modelo que se han producido desde que se creó la transacción.Desechar la transacción sin confirmarla tiene el mismo efecto.La anulación no revertirá los cambios realizados en otras variables de programa, o recursos externos.
Método público Commit Complete la transacción de modo que cuando se desecha, las operaciones realizadas que contiene no son deshechas.
Método público Dispose Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados. (Se hereda de IDisposable).

Arriba

Comentarios

En una extensión de Visual Studio , puede recopilar un contexto de que ILinkedUndoTransaction pueda crearse como sigue:

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

En un método, puede crear una transacción de este contexto:

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

Una excepción que no se detecta en el bloque using hará que todos los cambios de modelos UML dentro de él para revertirse. Observe que esto sólo se aplica a los cambios del modelo UML, no a los cambios realizados en otras variables, bases de datos externas, archivos, etc.

Las transacciones pueden anidar.

Para obtener más información, vea Cómo: Vincular actualizaciones del modelo mediante transacciones.

Vea también

Referencia

Microsoft.VisualStudio.Modeling.ExtensionEnablement (Espacio de nombres)