猿问

System.Collections.CollectionBases的优点和作用?是不是鸡肋?

MSDN这样解释CollectionBases——为强类型集合提供 abstract 基类。

也经常看到通过继承CollectionBases类实现自定义的集合类,但是没感觉有什么优点。

首先CollectionBases的方法接收object类型的参数,返回object类型的结果,所以基本都得重新实现。如果要通过继承CollectionBases实现值类型的集合类,还会有装箱拆箱的操作。

所以我觉得还不如继承List<>类或组合一个List<>方便。

CollectionBases是不是有我没有意识到的优点和作用呢?

三国纷争
浏览 423回答 3
3回答

慕娘9325324

.NET 2.0之前没有泛型,所以微软提供了CollectionBase; .NET 2.0有了泛型之后,CollectionBase用的就很少了。 我觉得不用CollectionBase的两大原因: 1. 装箱/拆箱 2. 不支持LINQ 参考:Why should I replace CollectionBase with Generics?

湖上湖

CollectionBase还是有用的,你留意一下,它的方法是virtual,意味着你可以重写,自定义自己的行为.

智慧大石

CollectionBase 它的方法是virtual,可以重写,可以 模拟mock,有用
随时随地看视频慕课网APP
我要回答