将基类集合转换为派生类集合

Dav*_*het -3 c#

你能帮我把 BaseClass 的 ObservableCollection 转换成 DerivedClass 的 IEnumerable 吗?

谢谢。

Jon*_*Jon 5

如果您知道所有项目都是派生对象,则使用 LINQ 的Enumerable.Cast

var enumerable = collection.Cast<DerivedClass>();
Run Code Online (Sandbox Code Playgroud)

如果集合中的任何项目实际上不是DerivedClass.

如果集合可能包含非派生对象,而您只需要派生对象:

var enumerable = collection.OfType<DerivedClass>();
Run Code Online (Sandbox Code Playgroud)