public static IEnumerable <T> SortBy <T>(this IEnumerable <T> t, OrderOptions o) { switch (o.Direction) { case OrderDirection.Ascending: return(t.Exclude(o.Inclusion).OrderBy(x => x, o.Compare)); default: return(t.Exclude(o.Inclusion).OrderByDescending(x => x, o.Compare)); } }
public static IEnumerable <TSource> SortBy <TSource, TKey>(this IEnumerable <TSource> t, Func <TSource, TKey> k, OrderOptions o) { switch (o.Direction) { case OrderDirection.Ascending: return(t.Exclude(o.Inclusion).OrderBy(k, o.Compare)); default: return(t.Exclude(o.Inclusion).OrderByDescending(k, o.Compare)); } }