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 | |
---|---|---|
Id | O nome desta transação é definido BeginTransaction. |
Superior
Métodos
Nome | Descrição | |
---|---|---|
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. | |
Commit | Conclua a transação, de modo que quando ele é descartado, as operações executadas dentro dele não serão desfeitas. | |
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