Interfejs ILinkedUndoTransaction
Transakcji pozwala grupować operacje razem w magazynie modelu UML, tak, że jeśli żadnego z nich nie powiedzie się, całej grupy jest przywracana.Po transakcja została zatwierdzona, użytkownik może cofnąć całej grupy przy użyciu polecenia Cofnij pojedynczy.
Przestrzeń nazw: Microsoft.VisualStudio.Modeling.ExtensionEnablement
Zestaw: Microsoft.VisualStudio.Modeling.Sdk.11.0 (w Microsoft.VisualStudio.Modeling.Sdk.11.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 | |
---|---|---|
Id | Ustaw nazwę tej transakcji, BeginTransaction. |
Początek
Metody
Nazwa | Opis | |
---|---|---|
Abort | Cofnąć wszystkie zmiany w magazynie modelu, które wystąpiły od momentu utworzenia transakcji.Usuwania transakcji bez przeznaczania go ma ten sam efekt.Przerwanie nie cofnie zmian do innych zmiennych programu lub zasobów zewnętrznych. | |
Commit | Sfinalizować transakcję, tak aby po jest usuwany, operacji wykonywanych w nim nie można cofnąć. | |
Dispose | Wykonuje zadania zdefiniowane aplikacji skojarzonej z zwalniania, zwalnianie lub resetowanie niezarządzanych zasobów. (Odziedziczone z IDisposable). |
Początek
Uwagi
W Visual Studio rozszerzenie, można uzyskać kontekstu, z którego ILinkedUndoTransaction można tworzyć w następujący sposób:
[Import]
public ILinkedUndoContext LinkedUndoContext { get; set; }
W metodzie można utworzyć transakcję z tym kontekście:
using (ILinkedUndoTransaction transaction =
LinkedUndoContext.BeginTransaction("Swap names"))
{
Operation1();
Operation2();
transaction.Commit(); // Always remember Commit()!
}
Wyjątek, który nie jest złowionych wewnątrz using bloku spowoduje, że wszystkie zmiany modelu UML wewnątrz go wycofać.Należy zauważyć, że dotyczy tylko zmiany w modelu UML, a nie zmian wprowadzonych do innych zmiennych, zewnętrznych baz danych, plików i tak dalej.
Transakcje można zagnieżdżać.
Aby uzyskać więcej informacji, zobacz Jak: łącze Aktualizacje modelu przy użyciu transakcji.
Zobacz też
Informacje
Przestrzeń nazw Microsoft.VisualStudio.Modeling.ExtensionEnablement