/// <summary>
/// 反向比较器。
/// </summary>
/// <typeparam name="T">类型参数</typeparam>
public class ReverseComparer<T> : IComparer<T>
{
#region Fields
private readonly IComparer<T> original;
#endregion
#region Properties
public static ReverseComparer<T> Default { get; private set; }
#endregion
#region Constructors
static ReverseComparer()
{
Default = new ReverseComparer<T>(Comparer<T>.Default);
}
public ReverseComparer(IComparer<T> original)
{
Contract.Requires(null != original);
this.original = original;
}
#endregion
#region Methods
public int Compare(T x, T y)
{
return this.original.Compare(y, x);
}
#endregion
}