Получить пользовательские лямбда linq для сортировки - PullRequest
0 голосов
/ 01 февраля 2019

Можно ли вернуть собственную лямбду для сортировки linq?

// This is how I usually order stuff
quarable.OrderBy(d => d.Something);
// This is the signature of OrderBy I'm aiming for
IOrderedQueryable<TSource> OrderBy<TSource, TKey>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector)

Я хочу, чтобы результат выглядел примерно так

static class SortingDevicesFiltersMethods {
    public static Expression<Func<TSource, TKey>> GetLambda(this SortingDevicesFilters filter)
    {
        return (d => d.State);
    }
 }

И это можно назвать как-то так

 quarable.OrderBy(someSortEnum.GetLambda());

Возможно ли что-то подобное

1 Ответ

0 голосов
/ 01 февраля 2019

Единственной вещью, отсутствующей в коде, была рабочая подпись.

Expression<Func<Device, Object >> GetLambda()

В моем случае SortingDevicesFilters был перечислением, которое при правильном переключении возвращает соответствующие фильтры.

Таким образом, можно возвращать лямбда-выражение linq из функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...