У меня есть список клиентов, которые можно отсортировать по 1-6 полям в зависимости от выбора пользователя. Поля сортировки могут быть в любом порядке. Если я заранее знаю поля и последовательность, сортировка выполняется легко:
customers = customers
.OrderBy(c => c.LastName)
.ThenBy(c => c.City)
.ThenBy(c => c.Age).ToList();
Как мне передать поля сортировки во время выполнения? Есть ли способ сделать что-то подобное?
string sortField1 = "State";
string sortField2 = "City";
string sortField3 = "Type";
customers = customers
.OrderBy(c => c.sortField1)
.ThenBy(c => c.sortField2)
.ThenBy(c => c.sortField3).ToList();