[.NET] CastingEnumerable(3)

来源:未知 责任编辑:责任编辑 发表时间:2015-09-17 09:43 点击:

22         }
23  
24  
25         // Member 
26         public IEnumerator<TResult> GetEnumerator()
27         {
28             return new CastingEnumerator<TResult, TSource>(_sourceEnumerable.GetEnumerator(), _enumerableDelegate);
29         }
30  
31         System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
32         {
33             return this.GetEnumerator();
34         }
35     }
36 }

view source
 

01 namespace CLK.Collections
02 {
03     public class CastingEnumerator<TResult, TSource> : IEnumerator<TResult>
04     {
05         //Properties 
06         private readonly IEnumerator<TSource> _sourceEnumerator;
07  
08         private readonly CastingEnumerableDelegate<TResult, TSource> _enumerableDelegate;
09  
10         private TResult _currentResult = default(TResult);
11  
12  
13         // Construction 
14         public CastingEnumerator(IEnumerator<TSource> sourceEnumerator, CastingEnumerableDelegate<TResult, TSource> enumerableDelegate)
15         {
16             #region Require
17  
18             if (sourceEnumerator == null) throw new ArgumentNullException();
19             if (enumerableDelegate == null) throw new ArgumentNullException();
20  
21             #endregion
22             _sourceEnumerator = sourceEnumerator;
23             _enumerableDelegate = enumerableDelegate;
24         }
25  
26         public virtual void Dispose()
27         {

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 浅析.NET下XML数据访问新机制
  • asp.net 面试+笔试题目第1/2页
  • C# 邮件地址是否合法的验证
  • asp.net 设置GridView的选中行的实现代码
  • C#高级编程:数据库连接[1]
  • ASP.NET&#160;GridView列表代码示例
  • 经典C++程序1
  • 微软ASP.NET站点部署指南(2):部署SQL Server Compact数据库
  • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1