/
d4nil
/
Konenkov_2413_software_engineering_
Обзор
Документация
Войти
/
d4nil
/
Konenkov_2413_software_engineering_
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
ProgressMonitor/IProgressMonitor.cs
50 строк
2 KB
Konenkov Daniel
doc: добавить параметры и возращаемые значения в комментарии к методам
10 дек 2025, 13:48
10 дек 2025, 13:48
c4c8192
Код
Авторство
О чём код?
using System; using System.Threading; using System.Threading.Tasks; using Avalonia.Controls; namespace ProgressMonitor; /// <summary> /// Контракт для универсального окна прогресса. /// </summary> public interface IProgressDialog { /// <summary> /// Запускает окно и выполняет операцию под его управлением. /// </summary> /// <param name="parOwner">Родительское окно.</param> /// <param name="parWorker">Выполняемая операция.</param> /// <param name="parExternalToken">Внешний токен отмены.</param> /// <returns>Задача, представляющая выполнение операции.</returns> Task RunAsync(Window parOwner, Func<IProgressDialog, CancellationToken, Task> parWorker, CancellationToken parExternalToken = default); /// <summary> /// Подготовка окна к новой операции. /// </summary> /// <param name="parTitle">Заголовок окна.</param> /// <param name="parCaption">Основной текст.</param> /// <param name="parSubtitle">Дополнительное описание шага.</param> /// <param name="parMaxProgress">Максимальное значение прогресса.</param> void Initialize(string parTitle, string parCaption, string? parSubtitle, double parMaxProgress); /// <summary> /// Сообщает об очередном шаге выполнения. /// </summary> /// <param name="parStep">Величина приращения (по умолчанию 1).</param> /// <param name="parSubtitle">Комментарий к текущему шагу.</param> void NextStep(double parStep = 1, string? parSubtitle = null); /// <summary> /// Переводит окно в завершённое состояние. /// </summary> /// <param name="parSubtitle">Финальное сообщение.</param> /// <returns>Задача завершения отображения.</returns> Task SwitchToCompletedAsync(string parSubtitle); /// <summary> /// Завершает операцию и подготавливает окно к закрытию. /// </summary> /// <param name="parAutoCloseWindow">Нужно ли закрыть окно автоматически.</param> void Close(bool parAutoCloseWindow = true); }