继承集合与实现 iEnumerable() 的优缺点是什么
最佳答案
从其中一种集合类型派生类通常是错误的(IMO)。我会这样做来创建一个新的通用集合类型 - 但如果该类有一些“业务”目的,并且恰好在其他方面表现得像一个集合,我认为从集合类派生不是一个好主意。
如果您实现 IEnumerable<T>
,您实际上是在传达这样一个信息,即您的类可以用作 T
序列(可能用于特定的具体 T
),但还有更多:它也具有非收集能力。当然,您甚至可能不需要自己实现它——您可以拥有返回适当序列的属性或方法。这真的取决于用例。
不要忘记,你只能从 .NET 中的一个基类派生……所以在你用完一个集合类型的机会之前要仔细考虑。
关于.net - 集合与 IEnumerable,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3372475/