作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用了一个派生自 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/
我是一名优秀的程序员,十分优秀!