实现继承自 List<T>
的新类的最快方法是什么? ?
class Animal {}
class Animals : List<Animal> {} // (1)
我遇到的一个问题:通过简单地执行(1),我发现我没有得到从List<T>
继承任何构造函数的好处。 .
最后,我想要Animals
表现得像List<T>
(例如,可以构建,与 Linq 的兼容性)。但除此之外,我还希望能够添加我自己的自定义方法。
最佳答案
如果你想创建一个公开展示的动物收藏,你不应该继承自List<T>
而是继承自 Collection<T>
并使用后缀 Collection
在类名中。示例:AnimalCollection : Collection<Animal>
.
这由 framework design guidelines 支持,更具体地说:
DO NOT use
ArrayList
,List<T>
,Hashtable
, orDictionary<K,V>
in public APIs. UseCollection<T>
,ReadOnlyCollection<T>
,KeyedCollection<K,T>
, or CollectionBase subtypes instead. Note that the generic collections are only supported in the Framework version 2.0 and above.
关于c# - 继承自列表<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5376203/