J'essaie d'utiliser i peut utiliser .Sélectionnez la méthode d'extension sur listview.selecteditems code> qui est sélectionnéeListViewItemCollection code>, mais . Sélectionnez code> ne s'affiche pas dans IntelliSense. P>
foreach code> sur sélectionnéeListViewItemCollection code>, il doit donc avoir mis en œuvre iEnumerable code>. Je viens de vérifier MSDN, et c'est certainement. Alors pourquoi les méthodes d'extension LINQ ne peuvent-elles pas être utilisées? P>
3 Réponses :
La raison pour laquelle est-ce que SELECTELITEMS est saisi à une collection qui implémente iEnumerable. La méthode de l'extension SELECT est liée à La solution de contournement consiste à utiliser la méthode d'extension .Cast pour l'obtenir sur le type approprié et doit apparaître P> iEnumerable ListView.SelectedItems.Cast<SomeType>.Select(...)
@Joan, je ne suis pas sûr. Je crois que c'est l'article sous-jacent et non ListViewItem. Je ne trouve pas la réponse dans la documentation.
Merci Jared. Je voulais juste m'en assurer.
@JaredPar - Cela fonctionne-t-il réellement pour vous ou avez-vous besoin de MyListView.Selecteditems.Cast
Merci! Je cherchais pourquoi une collection similaire ne fonctionnerait pas pour paniquer à jamais!
Il implémente iEnumerable, pas Vous pouvez utiliser ce qui suit: p> iEnumerable iEnumerable
@Lbushkin - Cela fonctionne-t-il réellement pour vous ou avez-vous besoin de MyListView.SelectedItems.Cast
Avez-vous "à l'aide de system.linq" en haut de votre dossier? p>
Est-ce une collection générique fortement typée? Sinon, vous devrez utiliser la méthode de l'extension CAST <>. P>