- 博客(2)
- 资源 (6)
- 收藏
- 关注
原创 添加Linq支持
C#中添加Linq支持,只需添加一个迭代器就完成支持。迭代器模式是面向对象语言一个常见设计模式,C#中无需像C++那样维护一个内部状态,通过关键字yield模式来实现,编译器通过自动生成一个内部类来维护迭代器中的状态。测试程序如下: public class EYield : IEnumerable { public IEnumerator GetEnumerator()
2015-09-09 10:07:14 624
原创 协变(Covariance)与逆变(Contravariance)
协变与逆变是类型系统中一个常见的问题,基类与子类之间类型变换时的定义要求。 协变:模板参数实例化中的子类赋值给基类,保留类型的顺序,从具体类型到抽象类型。 IEnumerable base =IEnumerable 逆变:与协变相反,基类赋值给子类,从抽象类型到具体类型。 IEnumerable derived =IEnumerable
2015-09-02 18:20:48 580
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人