Tengo una clase de colección que hereda de List<>
. He creado una función para ordenar la lista por una determinada propiedad, así:Devolver el tipo correcto después de usar OrderBy()
public PlaylistCollection SortByName(IEnumerable<Playlist> playlists)
{
return (PlaylistCollection)playlists.OrderBy(p => p.Name);
}
Cuando trato de utilizar los resultados ordenados en mi código como este:
artistSource.Playlists = (PlaylistCollection)new List<Playlist>(artistSource.Playlists.SortByName(artistSource.Playlists));
consigo el error :
Unable to cast object of type 'System.Linq.OrderedEnumerable`2[...Playlist,System.String]'
to type '...PlaylistCollection'."
Esto es moderadamente frustrante teniendo en cuenta que VS me dijo que existe una conversión explícita, así que agregué el modelo anterior.
¿Cómo puedo emitir correctamente desde IEnumerable<>
a mi colección?
Si bien había intentado su primera sugerencia antes ya, combinado con su segunda sugerencia y funcionó muy bien. Lo habría hecho así al principio, supongo que esperaba una solución más 'elegante'. ¡Gracias! –