Sobes.tech
Back to questions
Junior — Middle
72

Можете привести пример, когда было выполнено откат или отмена предыдущего действия в программе или системе?

Answer from AI

sobes.tech AI

Пример отката действия в программе на C# — использование паттерна "Команда" с поддержкой отмены (undo). Например, в текстовом редакторе:

public interface ICommand
{
    void Execute();
    void Undo();
}

public class InsertTextCommand : ICommand
{
    private StringBuilder _text;
    private string _insertedText;
    private int _position;

    public InsertTextCommand(StringBuilder text, string insertedText, int position)
    {
        _text = text;
        _insertedText = insertedText;
        _position = position;
    }

    public void Execute()
    {
        _text.Insert(_position, _insertedText);
    }

    public void Undo()
    {
        _text.Remove(_position, _insertedText.Length);
    }
}

Здесь метод Undo отменяет действие вставки текста, восстанавливая состояние до выполнения команды. Такой подход часто используется для реализации отмены операций в приложениях и системах.