如何使用泛型集合实现自定义类型安全集合



我使用了一个从CollectionBase类派生的强类型集合,现在我想将其更改为从类型安全的泛型集合继承。有些人建议从List<T>继承,有些人建议使用Collection<T>。我想做的是:

1) 我有一个自定义类,我正在创建一个仅包含该自定义类实例的集合。

2) 我希望自定义集合类具有一些属性和方法。例如,它应该具有Id属性,或者它应该具有一个IsBlahBlah()方法。

我该如何处理?当我从CollectionBase类派生时,我使用InnerList属性来访问元素。如果我选择使用Collection<T>,我应该使用Items属性吗?

正在做类似于的事情

public class MyCustomCollection : Collection<MyCustomClass>
{
public int ExtraProperty { get; set; }
public bool IsFortyTwo(MyCustomClass) { }
}

正确的方式?它能在不干扰Collection<T>中的方法的情况下开箱即用地正常工作吗?

额外的问题:当我在谷歌上搜索"强类型集合"时,它总是显示包含CollectionBase类的结果。强类型集合类型安全集合

我认为它需要这样实现

public class MyCustomCollection
{
private Collection<MyCustomClass> _collection = new Collection<MyCustomClass>();
public int ExtraProperty { get; set; }
public bool IsFortyTwo(MyCustomClass) { }
}

最新更新