Это не позволяет вам передать string
, как вы просили в своем вопросе, но он все равно может работать для вас.
Метод OrderByDescending
принимает Func<TSource, TKey>
, поэтому вы можете переписать свою функцию следующим образом:
List<Student> QueryStudents<TKey>(Func<Student, TKey> orderBy)
{
return existingStudents.OrderByDescending(orderBy).ToList();
}
Существуют и другие перегрузки для OrderByDescending
, которые берут Expression<Func<TSource, TKey>>
и / или IComparer<TKey>
. Вы также можете посмотреть на них и посмотреть, предоставляют ли они вам что-нибудь полезное.