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的類型?