Я следую за курсом по множественным значениям в построении API в .net, и я, похоже, столкнулся с проблемой с предоставленным кодом. У меня есть класс, который должен сортировать данную коллекцию на основе предоставленного запроса параметров запроса. Heres код:Проблема с типом OrderBy не может быть выведена из использования
public static class IQueryableExtensions
{
public static IQueryable<T> ApplySort<T>(this IQueryable<T> source, string sort)
{
if (source == null)
{
throw new ArgumentNullException("source");
}
if (sort == null)
{
return source;
}
// split the sort string
var lstSort = sort.Split(',');
// run through the sorting options and create a sort expression string from them
string completeSortExpression = "";
foreach (var sortOption in lstSort)
{
// if the sort option starts with "-", we order
// descending, otherwise ascending
if (sortOption.StartsWith("-"))
{
completeSortExpression = completeSortExpression + sortOption.Remove(0, 1) + " descending,";
}
else
{
completeSortExpression = completeSortExpression + sortOption + ",";
}
}
if (!string.IsNullOrWhiteSpace(completeSortExpression))
{
source = source.OrderBy(completeSortExpression.Remove(completeSortExpression.Count() - 1));
}
return source;
}
}
Проблема с линии:
source = source.OrderBy(completeSortExpression.Remove(completeSortExpression.Count() - 1));
по какой-то причине OrderBy
бросали ошибку: the type for method OrderBy cannot be inferred from the usage. Try specifying the type arguments explicitly.
Святое дерьмо, что и было. Вероятно, это знак того, что я должен идти домой. – user4612487
Удивительно, как иногда ответ очень прост - вам просто нужно иметь четкую голову :) – DavidG