我使用了从CollectionBase
类派生的强类型集合,现在我想将其更改为从类型安全的泛型集合继承。有人建议继承List<T>
,有些人建议使用Collection<T>
。我想做的是:
1)我有一个自定义类,我正在创建一个只包含该自定义类实例的集合。
2)我有一些属性和方法,我喜欢自定义集合类。例如,它应该具有Id
属性,或者它应该具有IsBlahBlah()
方法。
我该如何处理?当我从CollectionBase
类派生时,我使用InnerList
属性来访问元素。如果我选择使用Items
,我应该使用Collection<T>
属性吗?
正在做类似的事情:
public class MyCustomCollection : Collection<MyCustomClass>
{
public int ExtraProperty { get; set; }
public bool IsFortyTwo(MyCustomClass) { }
}
正确的方法?它是否可以正常使用而不会干扰Collection<T>
?
额外的问题:当我在Google上搜索“强类型收藏集”时,它始终显示包含CollectionBase
类的结果。 强类型集合和 Typesafe集合之间有什么区别?
答案 0 :(得分:1)
我认为需要像这样实施
public class MyCustomCollection
{
private Collection<MyCustomClass> _collection = new Collection<MyCustomClass>();
public int ExtraProperty { get; set; }
public bool IsFortyTwo(MyCustomClass) { }
}