CollectionBase类仍然受支持吗?

我想创建一个inheritance自CollectionBase的类,但它似乎不支持LINQ扩展!

它仍然受支持吗? 或者有替代解决方案吗?

它仍然受支持 ,但它已经过时了。 您应该始终更喜欢使用System.Collections.GenericSystem.Collections.ObjectModel命名空间中定义的集合。

您可以inheritance其中一个generics集合,以创建自己的自定义强类型集合。 它将完全支持LINQ,因为它们已经实现了IEnumerable
ListCollection都是适合您案例的好选择。

尽可能避免使用像CollectionBaseArrayListHashTable这样的非generics集合。 使用它们会有性能损失,并且它们与最新版本的框架中引入的通用版本相比,几乎没有优势(如果有的话!)。

Linq扩展是为IEnumerable (Generic) 编写的,而CollectionBase (非generics)不是从它inheritance的。 这就是为什么你不能使用Linq的原因。

请改用System.Collections.ObjectModel.Collection