我有一個繼承自List<>
的集合類。我已經成立了一個由功能有一定財產,像這樣對列表進行排序:在使用OrderBy()後返回正確的類型
public PlaylistCollection SortByName(IEnumerable<Playlist> playlists)
{
return (PlaylistCollection)playlists.OrderBy(p => p.Name);
}
當我嘗試使用排序的結果在我的代碼是這樣的:
artistSource.Playlists = (PlaylistCollection)new List<Playlist>(artistSource.Playlists.SortByName(artistSource.Playlists));
我得到的錯誤:
Unable to cast object of type 'System.Linq.OrderedEnumerable`2[...Playlist,System.String]'
to type '...PlaylistCollection'."
考慮到VS告訴我存在一個明確的轉換,所以我添加了上面的演員。
如何正確投射IEnumerable<>
到我的收藏?
雖然我以前已經嘗試過你的第一個建議,我與你的第二個建議,結合它和它的工作就好了。我最初就是這麼做的,我只是希望能有一個更優雅的解決方案。謝謝! – 2009-04-13 22:46:58