Practice_1_8 - melnikf/teaching GitHub Wiki

Лабораторная работа 8. Делегаты и события

Порядок выполнения работы

В класс ThreadSorter из предыдущей работы добавить:

  • открытый делегат StatusUpdateHandler, поддерживающий вызов методов с сигнатурой void method(string msg, int time, Thread thread);
  • открытое событие StatusUpdate типа StatusUpdateHandler.

Класс ThreadSorter должен вызывать событие StatusUpdate в следующих случаях:

  • начало сортировки;
  • разбиение массива;
  • начало сортировки каждой части;
  • окончание сортировки каждой части;
  • начало слияния;
  • окончание слияния;
  • окончание сортировки.

Объекты, подписавшиеся на событие StatusUpdate, должны получать следующую информацию (см. делегат):

  • описание текущей операции;
  • время от начала сортировки (в миллисекундах);
  • поток, вызвавший событие.

На главную форму добавить возможность просмотра событий, возникающих во время работы алгоритма.