public static FluentOrderer<T> OrderFluentlyByDescending<T,TResult>(this IEnumerable<T> source, Func<T,TResult> predicate) where TResult : IComparable<TResult> { var result = new FluentOrderer<T>(source); result.Comparers.Add((a,b)=>predicate(a).CompareTo(predicate(b)) * -1); return result; }
public static FluentOrderer<T> ThenByDescending<T, TResult>(this FluentOrderer<T> source, Func<T, TResult> predicate) where TResult : IComparable<TResult> { source.Comparers.Add((a, b) => predicate(a).CompareTo(predicate(b)) * -1); return source; }