如何针对ListCollectionView编写linq查询
本文关键字:linq 查询 编写 ListCollectionView 何针 | 更新日期: 2023-09-27 17:57:49
这些似乎都不起作用:
var source = myViewModel.MyListCollectionView.Select(x => x as MyType);
var source = myViewModel.MyListCollectionView.Select<object, MyType>(x => x as MyType);
var source = myViewModel.MyListCollectionView.SourceCollection.Select<object, MyType>(x => x as MyType);
ListCollectionView
仅实现非通用IEnumerable
接口。我怀疑你想要:
var source = myViewModel.MyListCollectionView.Cast<MyType>();
或者(如果某些值不是MyType
,那没关系):
var source = myViewModel.MyListCollectionView.OfType<MyType>();
var source = myViewModel.MyListCollectionView.OfType<MyType>();
InternalList
属性的类型为IList
,因此您可以针对它编写linq
查询。
ahhhh找到了它。您必须使用Cast<>第一
var source = myViewModel.MyListCollectionView.Cast<MyType>().Select(p=>p.MyProperty);