【发布时间】:2012-03-24 05:18:36
【问题描述】:
在我们的许多项目中,我看到了一些自定义集合/或容器类,它们包含某种通用集合,例如List(of T) 类。
它们通常有一个 GetXXX 方法,该方法返回自定义集合类使用的任何类型的 IEnumerable,因此可以使用 foreach 循环迭代内部集合。
例如
public IEnumerable<UploadState> GetStates
{
get
{
return new List<UploadState>(m_states);
}
}
我的问题是这些类是否应该实现 IEnumerable 接口,并在 List 本身上调用 GetEnumerator。
是否有首选方式,还是由开发人员决定?
【问题讨论】:
-
m_states 的类型是什么?只是想知道为什么它被
new List<>包裹并返回为IEnumerable<>