Convertir CollectionBase à la Liste ou au type de données utilisable avec Linq
Je suis à l'aide de Aspose cellules de manipuler des feuilles de calcul Excel.
L'un des types de l'API est une collection de Photos dans la feuille de calcul, qui dérive de CollectionBase:
voir ce lien:
http://www.aspose.com/documentation/.net-components/aspose.cells-for-.net/aspose.cells.pictures.html
Je veux convertir ce type de quelque chose qui me permet d'utiliser des expressions Linq
Quelles sont les options pour cette?
Je suppose que je pourrais effectuer une itération sur elle et l'ajouter manuellement un new List<Picture>
Mais est-il une meilleure façon de le faire?
J'ai lu cette question
L'ajout de IEnumerable<T> pour classe dérivée de CollectionBase
Mais je ne pas avoir le contrôle sur la classe qui implémente CollectionBace que c'est un produit de tiers
Vous devez vous connecter pour publier un commentaire.
Suffit d'utiliser la
Énumérable.Cast<T>()
méthode d'extension sur la non-génériqueIEnumerable
d'une interface, vous pouvez le faire de manière implicite dans une expression de requête:ou explicitement, par exemple si vous souhaitez utiliser la notation point:
Une alternative à
Cast<T>()
estOfType<T>()
- qui, fondamentalement, ne tient pas compte des éléments qui ne sont pas du bon type. Dans ce cas, je penseCast<T>()
est plus approprié si.Si vous voulez convertir l'ensemble de la collection pour un
List<T>
pour quelque raison que ce soit, c'est trop facile: