实现从其继承的新类的最快方法是什么List<T>?
List<T>
class Animal {} class Animals : List<Animal> {} // (1)
我遇到的一个问题:简单地做 (1) ,我发现没有获得从继承任何构造函数的好处List<T>。
最后,我想Animals表现得很像List<T>(例如,可以构造,与Linq兼容)。但除此之外,我还希望能够添加自己的自定义方法。
Animals
如果要创建一个 公开显示的 动物集合,则不应继承该类List<T>,而应该Collection<T>使用Collection该类名中的后缀。范例:AnimalCollection : Collection<Animal>。
Collection<T>
Collection
AnimalCollection : Collection<Animal>
框架设计指南对此提供了支持,更具体地说:
不要 使用ArrayList,List<T>, Hashtable,或Dictionary<K,V>在公共API。使用Collection<T>, ReadOnlyCollection<T>, KeyedCollection<K,T>,或CollectionBase的亚型代替。请注意,仅在Framework 2.0版及更高版本中才支持通用集合。
ArrayList
Hashtable
Dictionary<K,V>
ReadOnlyCollection<T>
KeyedCollection<K,T>