.NET 4.x Динамически подписывать на событие (из списка) - C#

Узнай цену своей работы

Формулировка задачи:

Доброе время суток, необходимо в независимости от количества элементов списка проделывать данную манипуляцию: В список из папки попадают сортировщики N - количество (в примере будет 4), каждый из них имплементирует интерфейс ISorter и имеют ивент OnSwap (который файрится при работе сортировщика), нужно "автоматизировать" написание следующего кода, какие советы, может решение вы знаете?
            BubbleSort bubbleSorter = new BubbleSort();
            CoctailSort coctailSorter = new CoctailSort();
            SelectSort selectSorter = new SelectSort();
            ShellSort shellSorter = new ShellSort();
 
            bubbleSorter.OnSwap += OnControllerSwap;
            coctailSorter.OnSwap += OnControllerSwap;
            selectSorter.OnSwap += OnControllerSwap;
            shellSorter.OnSwap += OnControllerSwap;
 
            bubbleSorter.SortArray(ArrayConvertor.ConvertTo1DArr(array));
            coctailSorter.SortArray(ArrayConvertor.ConvertTo1DArr(array));
            selectSorter.SortArray(ArrayConvertor.ConvertTo1DArr(array));
            shellSorter.SortArray(ArrayConvertor.ConvertTo1DArr(array));

Решение задачи: «.NET 4.x Динамически подписывать на событие (из списка)»

textual
Листинг программы
var sorters = new List<ISorter>
{
   new BubbleSort(),
   new CoctailSort(),
   new SelectSort(),
   new ShellSort()
};
 
foreach (var sorter in sorters)
{
   sorter.OnSwap += OnControllerSwap;
   sorter.SortArray(ArrayConvertor.ConvertTo1DArr(array));
}

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы