如何在T实现IComparable <t>?</t> </t

时间:2011-10-08 09:17:54

标签: c#

我正在实现一个类,它在LINQ库的样式中具有自定义IComparer的重载。 (例如,OrderBy:OrderBy<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>)OrderBy<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>, IComparer<TKey>))。

我想在1参数重载方面实现2参数重载。如下所示:

T Method<T>(IEnumerable<T> collection, IComparer<T> comparer)
{
    // Do something that returns a T
}

T Method<T>(IEnumerable<T> collection) where T: IComparable<T>
{
    IComparer<T> comparer = /*what goes here?*/;
    return Method(collection, comparer);
}

在这方面,问题归结为询问,如何获得IComparer实例的IComparer实例?

1 个答案:

答案 0 :(得分:1)

您正在寻找Comparer<T>.Default