3

我使用了从类派生的强类型集合,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该类的结果。强类型集合和类型安全集合有什么区别?

4

1 回答 1

1

我认为它需要像这样实施

public class MyCustomCollection
{
    private Collection<MyCustomClass> _collection = new Collection<MyCustomClass>();
    public int ExtraProperty { get; set; }
    public bool IsFortyTwo(MyCustomClass) { }
}
于 2012-11-15T13:50:12.273 回答