gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 17:57:11 25 4
gpt4 key购买 nike

我使用了一个派生自 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 的结果类(class)。 强类型集合类型安全集合有什么区别?

最佳答案

我认为它需要这样实现

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

关于c# - 如何使用泛型集合实现自定义类型安全集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13398755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com