je finis par écrire beaucoup de code qui ressemble àméthode de commande LINQ générique - analyse syntaxique une expression
var ordered = isDescending ? queryable.OrderByDescending(x => x.ID) : queryable.OrderBy(x => x.ID)
mais avec des expressions telles que x => x.DateOfBirth etc. Ce que je voudrais faire est Placez cela dans une méthode d'extension générique que je pourrais analyser mon expression, et un booléen est descendant vers, mais je ne suis pas sûr de savoir comment faire cela. Quelque chose comme
public static IOrderedQueryable<T> OrderBy<T>(this IQueryable<T> source, Expression<Func<T, TKey>> func, bool isDescending) {
return isDescending ? source.OrderByDescending(func) : source.OrderBy(func);
}
Quelqu'un peut-il me dire comment faire cela? De préférence avec une explication pour que je puisse le comprendre.