Compartilhar via


Interface ILinkedUndoTransaction

Uma transação permite agrupar operações juntos no armazenamento de modelo UML, para que se algum deles falhar, todo o grupo é revertido.Depois que a transação for confirmada, o usuário pode desfazer o grupo inteiro com um comando Desfazer única.

Namespace:  Microsoft.VisualStudio.Modeling.ExtensionEnablement
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.11.0 (em Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)

Sintaxe

'Declaração
Public Interface ILinkedUndoTransaction _
    Inherits IDisposable
public interface ILinkedUndoTransaction : IDisposable

O tipo ILinkedUndoTransaction expõe os membros a seguir.

Propriedades

  Nome Descrição
Propriedade pública Id O nome desta transação é definido BeginTransaction.

Superior

Métodos

  Nome Descrição
Método público Abort Desfazer todas as alterações no armazenamento de modelo que ocorreram desde a transação foi criada.Descartando a transação sem confirmar que ele tem o mesmo efeito.Anulação não irá desfazer alterações em outras variáveis de programa ou recursos externos.
Método público Commit Conclua a transação, de modo que quando ele é descartado, as operações executadas dentro dele não serão desfeitas.
Método público Dispose Executa tarefas definido pelo aplicativo associadas liberando, liberando ou redefinindo recursos não gerenciados. (Herdado de IDisposable.)

Superior

Comentários

Em um Visual Studio extensão, você pode adquirir um contexto do qual um ILinkedUndoTransaction podem ser criados da seguinte maneira:

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

Em um método, você pode criar uma transação neste contexto:

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

Uma exceção não detectada dentro do using bloco fará com que todas as alterações de modelo UML dentro dela serão revertidas.Observe que isso se aplica apenas às alterações no modelo UML e não para alterações que foram feitas outras variáveis, bancos de dados externos, arquivos e assim por diante.

As transações podem ser aninhadas.

Para obter mais informações, consulte Como: atualizações do modelo de Link usando transações.

Consulte também

Referência

Namespace Microsoft.VisualStudio.Modeling.ExtensionEnablement