// Visszaállítja a dokumentum állapotát a memento paraméter // alapján. Kiolvassa a memento objektumból a dokumentum // korábbi állapotát és erre beállítja az aktuállis állapotot // (a tagváltozók jelenlegi értékét állítja). public void RestoreFromMemento(TextDocMemento memento) { // A GetState egy 3-as tuple-t ad vissza, ezt egyből // "szétbontjuk" (deconstruct), a három tagváltozóba // kerülnek az értékek. A szintaktika lényegtelen számunkra. (text, selectionStartIndex, selectionLenght) = memento.GetState(); }
public void Execute() { // Aktív dokumentum megszerzése document = TextEditorApp.Instance.GetActiveDocument(); // Ha nincs aktív dokumentum, nem csinálunk semmit. if (document == null) { return; } // Kérünk a dokumentum objektumtól egy memento objektumot, // mely a dokumentum teljes állapotát tartalmazza a // visszaállításhoz. Ezt elmentjük a command objektum // tagváltozójába, hogy az UnExecute során elő tudjuk venni. memento = document.CreateMemento(); document.Clear(); }