Esempio n. 1
0
 /// <summary>
 /// Makes an un-typed comparer from the given comparer.
 /// </summary>
 /// <typeparam name="T">The type that the given comparer compares.</typeparam>
 /// <param name="comparer">The comparer to make un-typed.</param>
 /// <returns>The untyped comparer.</returns>
 public static IComparer Untyped <T>(this IComparer <T> comparer)
 {
     if (comparer == null)
     {
         throw new ArgumentNullException("comparer");
     }
     return(UntypedComparer <T> .GetComparer(comparer));
 }
Esempio n. 2
0
        public static IComparer <T> GetComparer(IComparer comparer)
        {
            UntypedComparer <T> untyped = comparer as UntypedComparer <T>;

            if (untyped != null)
            {
                return(untyped.Comparer);
            }
            IComparer <T> typed = comparer as IComparer <T>;

            if (typed != null)
            {
                return(typed);
            }
            return(new TypedComparer <T>(comparer));
        }