《TypeScript图形渲染实战:2D架构设计与实现》 —2.3.4 模拟微软.NetFramework中的泛型迭代器

举报
华章计算机 发表于 2019/12/11 17:19:10 2019/12/11
【摘要】 本节书摘来自华章计算机《TypeScript图形渲染实战:2D架构设计与实现》 一书中第2章,第2.3.4节,作者是步磊峰。

2.3.4  模拟微软.NetFramework中的泛型迭代器

  在微软的.NetFramework中,有两个接口定义了迭代器模式:IEnumerable可迭代接口(该接口只有一个getEnumerator的方法,不使用该接口,因此不在代码中定义),以及IEnumerator迭代器接口。使用TypeScript泛型方式来定义IEnumerator接口。具体代码如下:

 

export interface IEnumerator < T > {

    // 将迭代器重置为初始位置

    reset ( ) : void ;  

    // 如果没越界,moveNext将current设置为下一个元素,并返回true

    // 如果已越界,moveNext返回false

    moveNext ( ) : boolean ;

    // 只读属性,用于获取当前的元素,返回泛型T

    readonly  current : T ;

}

 

  上述代码模拟了微软.NetFramework中的泛型迭代器接口,在TypeScript中,可以在声明的类型后面使用< T >方式定义泛型,其中T可以替换成其他文字,例如< t > 或者< kind >之类的。然后就可以在类中使用T进行类型替代,后续章节会广泛使用泛型。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。