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);
}
}
}