BaseClass の ObservableCollection を DerivedClass の IEnumerable に変換するのを手伝ってくれませんか?
ありがとう。
すべてのアイテムが派生オブジェクトであることがわかっている場合は、LINQ を使用しますEnumerable.Cast
。
var enumerable = collection.Cast<DerivedClass>();
上記は、コレクション内のアイテムが実際には ではない場合にスローされますDerivedClass
。
コレクションに非派生オブジェクトが含まれている可能性があり、派生オブジェクトのみが必要な場合:
var enumerable = collection.OfType<DerivedClass>();
すべてのアイテムが実際に派生型であることが確実な場合は、使用しますCast
IEnumerable<DerivedClass> results = observableCollection.Cast<DerivedClass>();
一部がそのタイプではない可能性がある場合は、使用します
IEnumerable<DerivedClass> results = observableCollection.OfType<DerivedClass>();
Cast
アイテムをキャストできない場合は例外をスローし、OfType
単にそれらを結果に含めません。