0
我正在实现一个类,在LINQ库的样式中有一个自定义IComparer的重载。 (例如OrderBy:OrderBy<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>)
和OrderBy<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>, IComparer<TKey>)
)。如何实现LINQ型IComparer <T>过载,其中T实现IComparable <T>?
我想在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的实例为实现IComparable的类型?