← Каталог
Паттерн "Стратегия" в C# — когда нужен, а когда достаточно делегата — Идиоматичный C# — `Func`, `Action` и лямбды
Фрагмент из «Паттерн "Стратегия" в C# — когда нужен, а когда достаточно делегата»: Идиоматичный C# — `Func`, `Action` и лямбды.
public class SortContext
{
public void ExecuteSort(List<int> list, Action<List<int>> sortAlgorithm)
{
sortAlgorithm(list);
}
}
var context = new SortContext();
context.ExecuteSort(numbers, list => list.Sort());
context.ExecuteSort(numbers, list =>
{
// своя логика сортировки
}); public class SortContext
{
public void ExecuteSort(List<int> list, Action<List<int>> sortAlgorithm)
{
sortAlgorithm(list);
}
}
var context = new SortContext();
context.ExecuteSort(numbers, list => list.Sort());
context.ExecuteSort(numbers, list =>
{
// своя логика сортировки
});