我正在实现一个类,它在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实例?