民间,
我开始玩实现IEnumerable ......实际上这是一个SOF“noob homework question”让我开始了这一行。是的,我 AM 无聊。
所以我坐下来为IEnumerable弹出一个快速的SSCCE。询问您是否要查看我的代码,但这与我的问题并不相关。无论如何,很快齿轮开始转动(慢慢地,我的齿轮就知道了)......对于我的生活,我无法想象为什么实施IEnumerable<T>
界面强制您公开(非通用)IEnumerable接口。
我刚刚谷歌搜索了大约半个小时,但是没有发现任何能让我了解为什么暴露非通用枚举器是强制性的......当我积极地不要想要做到这一点,因为我不希望非泛型代码在我的代码库中引入它,如果确实如此,我希望它失败。
MS工程师,恕我直言,这个星球上最好的一些,所以我知道这个设计决定必须有一个该死的好理由(很可能不止一个)。
所以,有人可以让我摆脱苦难并取悦我吗?
SOF: How would you implement the IEnumerator interface?
Raymond Chen最近发布的一系列博客文章(“在C#中实现迭代器及其后果”)是一个快速上手的好地方。
- 第1部分:[http://blogs.msdn.com/oldnewthing/archive/2008/08/12/8849519.aspx][1]
- 第2部分:[http://blogs.msdn.com/oldnewthing/archive/2008/08/13/8854601.aspx][2]
- 第3部分:[http://blogs.msdn.com/oldnewthing/archive/2008/08/14/8862242.aspx][3]
- 第4部分:[http://blogs.msdn.com/oldnewthing/archive/2008/08/15/8868267.aspx][4]
所以我快速通过“第1部分”,并很快发现我的大脑产生了空,我的有限状态机试图备份我的wazoo。我也很快意识到我越走越远了。
是的,我的问题是什么?当然,这之前已经被要求和回答(很多次)......但是我找不到了。我想我甚至都不知道问正确的问题。 Sooo ...谷歌搜索术语会做得很好。
提前感谢大家的时间。我很感激。
干杯。基思。
答案 0 :(得分:0)
的IEnumerable&LT; T&GT;实现IEnumerable,所以它必须定义...