using System; using System.Collections.Generic; namespace Developpez.Dotnet.Collections { /// /// Comparateur basé sur un delegate Comparison<T>. /// /// type des éléments à comparer public class ComparisonComparer : Comparer { private readonly Comparison _comparison; /// /// Initialise une nouvelle instance ComparisonComparer<T>. /// /// La comparaison à utiliser public ComparisonComparer(Comparison comparison) { comparison.CheckArgumentNull("comparison"); _comparison = comparison; } /// /// Compare deux instances de T /// /// Premier élément à comparer /// Second élément à comparer /// -1 si x < y, 1 si x > y, 0 si x == y public override int Compare(T x, T y) { return _comparison(x, y); } } }