В настоящее время у меня есть следующий цикл foreach:
List<SearchResult> searchResults = new List<SearchResult>();
foreach (Transmission trans in Results)
{
searchResults.Add(new SearchResult(trans));
}
return searchResults;
И я хотел бы преобразовать это в выражение Linq, я пробовал следующее, которое выглядит так, как будто оно достигает того же самого вlinq to me:
return Results.Select(x => new SearchResult(x)).ToList();
Однако при выполнении я получаю следующую ошибку:
System.InvalidCastException: Object must implement IConvertible.
Мне кажется, я понимаю суть этой ошибки, но проблема в том, что яна самом деле не пытается преобразовать объекты Transmission в коллекции Results в объекты SearchResult, но вместо этого возвращает список объектов SearchResult, объект SearchResult инициализируется следующим образом:
Transmission transmission = new Transmission(...);
SearchResult result = new SearchResult(trans);
Любая помощь в этом была бы полезнаЯ рвал на себе волосы!
РЕДАКТИРОВАТЬ: Согласно комментариям здесь полная заглушка метода:
public IQueryable<Transmission> Results
{
get;
set;
}
public virtual IEnumerable<SearchResult> ResultsNetwork
{
get
{
List<SearchResult> searchResults = new List<SearchResult>();
foreach (Transmission trans in Results)
{
searchResults.Add(new SearchResult(trans));
}
return searchResults;
}
}