泛型设计实现反向比较器

  /// <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
    }

 

posted @ 2016-03-27 17:39  至简  阅读(337)  评论(0编辑  收藏  举报