Как передать массив выражения OrderBy методу?

Я пытаюсь улучшить свой репозиторий, чтобы он отвечал за упорядочивание. Я применил ответ из на этот вопрос , и что касается репозитория, я почти уверен, что это сделано.

Проблема, с которой я столкнулся, заключается в том, что я не знаю, как чтобы теперь передать массив методам в репозитории. Компилятор постоянно кричит мне о делегатах. В связанном выше вопросе автор, по сути, делает то, что я хочу, поэтому это должно быть возможно.

Здесь ' s мой код репозитория:

public virtual IList SelectOrderedList(
    Expression>[] Orderers,
    bool Ascending = true) {
    IOrderedQueryable TemporaryQueryable = null;

    foreach (Expression> Orderer in Orderers) {
        if (TemporaryQueryable == null) {
            TemporaryQueryable = (Ascending ? this.ObjectSet.OrderBy(Orderer) : this.ObjectSet.OrderByDescending(Orderer));
        } else {
            TemporaryQueryable = (Ascending ? TemporaryQueryable.ThenBy(Orderer) : TemporaryQueryable.ThenByDescending(Orderer));
        };
    };

    return TemporaryQueryable.ToList();
}

Кстати, я не уверен на 100%, что я должен использовать Expression > . По какой-то причине мне кажется, что это должно быть Expression > , но я не совсем уверен.

В любом случае, я был бы очень признателен, если бы кто-нибудь мог показать мне, как на самом деле это называть. Бонусные баллы и любовь, если вы сможете заставить его работать как аргумент params .

7
задан Community 23 May 2017 в 11:44
поделиться