博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年6月15日

摘要: 反射(Reflection)定义:指对一个程序集中的元数据进行检查的过程。作用:1、访问程序集中的元数据; 2、使用元数据。如:创建API文档,对象序列化,遍历一个对象的所有属性,使用编译时未知的对象数据填充列表控件。方式:使用System.Type的实例来访问一个类型的元数据,(instance.GetType(), typeof(ClassName)),它提供了获取类型信息的所有方法。1、Type.Name2、Type.IsPublic3、Type.BaseType4、Type.GetInterfaces()5、Type.Assembly6、Type.GetProperties(), Ty 阅读全文

posted @ 2011-06-15 17:18 ritazhou 阅读(488) 评论(1) 推荐(0) 编辑

2011年6月14日

摘要: 迭代器(Iterators)在学习迭代器之前,需要先了解一下foreach的内部工作方式。要对一个对象使用foreach进行循环的话该对象必须有GetEnumerator方法,该方法是在IEnumerable接口下的。该方法会返回一个IEnumerator的实例,所以必须有一个迭代器累实现IEnumerator接口。该接口中的主要有一个Current属性和一个MoveNext()方法。 在foreach遍历的时候,会用到该迭代器类。这就是迭代器接口。假如某个类要使用foreach,就必须实现枚举模式,但是这个模式实现起来比较麻烦,因为它要维护一个内部状态机。所以C#2.0引入了迭代器的概念。C 阅读全文

posted @ 2011-06-14 18:07 ritazhou 阅读(189) 评论(0) 推荐(0) 编辑

摘要: IList<T> 和 IDictionary<TKey, TValue>IList<T> 和 IDictionary<TKey, TValue> 都继承了ICollection<T>泛型接口。IList 是 IDictionary的一种特例,IList的key总是一个整数,key set 总是从0开始的非负整数(non-negative integers)的连续集合。区别:IList用索引(Index)来取值, IDictionary用键值(key)来取值。所以虽然两个接口都实现索引器,但是实现索引器的方法是不同的。IComparab 阅读全文

posted @ 2011-06-14 13:53 ritazhou 阅读(276) 评论(0) 推荐(0) 编辑