我想创建一个继承自 CollectionBase
的类, 但它似乎不支持 LINQ 扩展!
还支持吗?或者有替代解决方案吗?
最佳答案
它仍然受支持,但它已经过时了。您应该始终更喜欢使用 System.Collections.Generic
中定义的集合或 System.Collections.ObjectModel
命名空间,而不是。
您也可以继承其中一个通用集合来创建您自己的自定义强类型集合。它将完全支持 LINQ,因为他们已经实现了 IEnumerable<T>
.
List<T>
或 Collection<T>
是适合您的情况的好选择。
避免非通用集合,如 CollectionBase
, ArrayList
, 和 HashTable
如果可能的话。使用它们会降低性能,并且与框架的最新版本中引入的通用版本相比,它们几乎没有优势(如果有的话!)。
关于c# - CollectionBase 类是否仍然受支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5704776/