12

これらのどれもうまくいかないようです:

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);
4

4 に答える 4

26

ListCollectionView非ジェネリックIEnumerableインターフェイスのみを実装します。私はあなたが欲しいと思う

var source = myViewModel.MyListCollectionView.Cast<MyType>();

または(一部の値がではない場合、MyTypeそれで問題ありません):

var source = myViewModel.MyListCollectionView.OfType<MyType>();
于 2011-05-26T17:30:09.250 に答える
7
var source = myViewModel.MyListCollectionView.OfType<MyType>();
于 2011-05-26T17:30:19.087 に答える
2

InternalListプロパティはタイプであるため、それに対してクエリIListを記述できます。linq

于 2011-05-26T17:30:46.567 に答える
2

ああ、見つけた。最初に Cast<> を使用する必要があります。

var source = myViewModel.MyListCollectionView.Cast<MyType>().Select(p=>p.MyProperty);
于 2011-05-26T17:31:43.247 に答える