Udostępnij za pośrednictwem


Interfejs ILinkedUndoTransaction

Transakcji pozwala grupować operacje razem w magazynie modelu UML tak, że jeśli któryś z nich zawiedzie, cała grupa zostanie przywrócona.Po transakcja została zatwierdzona, użytkownik może cofnąć całej grupy za pomocą polecenia Cofnij pojedynczy.

Przestrzeń nazw:  Microsoft.VisualStudio.Modeling.ExtensionEnablement
Zestaw:  Microsoft.VisualStudio.Modeling.Sdk.12.0 (w Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)

Składnia

'Deklaracja
Public Interface ILinkedUndoTransaction _
    Inherits IDisposable
public interface ILinkedUndoTransaction : IDisposable

Typ ILinkedUndoTransaction uwidacznia następujące elementy członkowskie.

Właściwości

  Nazwa Opis
Właściwość publiczna Id Ustaw nazwę tej transakcji BeginTransaction.

Początek

Metody

  Nazwa Opis
Metoda publiczna Abort Cofnąć wszystkie zmiany w magazynie modelu, które miały miejsce od czasu utworzenia transakcji.Usuwania transakcji bez przeznaczania to ma taki sam skutek.Przerwanie nie spowoduje to cofnięcia zmian w innych zmiennych programu lub zasobów zewnętrznych.
Metoda publiczna Commit Sfinalizować transakcję, tak, że gdy jest on usuwany, operacje wykonywane w nim nie są zapisywane.
Metoda publiczna Dispose Wykonuje zadania zdefiniowane przez aplikację skojarzone z uwalnianiem, zwalnianiem lub resetowaniem niezarządzanych zasobów. (Odziedziczone z IDisposable).

Początek

Uwagi

W Visual Studio rozszerzenia, można uzyskać kontekstu, z którego ILinkedUndoTransaction mogą być tworzone w następujący sposób:

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

W metodzie można utworzyć transakcję z tego kontekstu:

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

Wyjątek, który nie jest wyłapywany wewnątrz using bloku spowoduje, że wszystkie UML model zmiany wewnątrz niego wycofane.Należy zauważyć, że dotyczy to tylko do zmian w modelu UML, a nie do zmiany wprowadzone do innych zmiennych, zewnętrznych baz danych, plików i tak dalej.

Transakcje można zagnieżdżać.

Aby uzyskać więcej informacji, zobacz Porady: łączenie aktualizacji modeli za pomocą transakcji.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.Modeling.ExtensionEnablement