Func<Article, Object> orderByFunc = null;
switch (OrderBy)
{
case "AuthorID":
orderByFunc = ob => ob.AuthorID;
break;
case "Created":
orderByFunc = ob => ob.Created;
break;
case "Title":
orderByFunc = ob => ob.Title;
break;
default:
case "ID":
orderByFunc = ob => ob.ID;
break;
}
List<Article> ArticlesList = new List<Article>();
switch (OrderWay)
{
default:
case "DESC":
ArticlesList = getDB().Article.OrderByDescending(orderByFunc).Skip(Page * Limit).Take(Limit).ToList();
break;
case "ASC":
ArticlesList = getDB().Article.OrderBy(orderByFunc).Skip(Page * Limit).Take(Limit).ToList();
break;
}
Есть такой код, можно ли как то сократить switch-и в пару строк?(Не писать каждый раз "orderByFunc = ob => ob.НазваниеПоля", а написать один раз orderByFunc = какаяТоНеведомаяФункцияДляПолученияПоляИзЛюбогоКласса(OrderBy)) Переменная "OrderBy" всегда соответствует названию поля для сортировки.