VB.NET中怎么实现一个IEnumerator接口

这篇文章给大家介绍VB.NET中怎么实现一个IEnumerator接口,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了市南免费建站欢迎大家使用!

要VB.NET实现IEnumerator接口,需在实现以下几个函数来支持IEnumerator接口的操作

Overridable ReadOnly Property Current()   As Object

Current用于在迭代过程中得到当前的对象

Public Overridable Function MoveNext()   As Boolean

MoveNext用于在迭代过程中将迭代指针指向下一个对象,初始是迭代指针指向集合的开始(在***个节点之前的位置),一旦越过集合的结尾,在调用 Reset 之前,对 MoveNext 的后续调用返回 false。

Overridable Sub Reset()

将枚举数设置为其初始位置,该位置位于集合中***个元素之前。

只要集合保持不变,枚举数就将保持有效。如果对集合进行了更改(例如添加、修改或删除元素),则该枚举数将失效且不可恢复,并且下一次对 MoveNext 或 Reset 的调用将引发InvalidOperationException。

下需是一个具体的VB.NET实现IEnumerator接口的对像

  1. Imports System.Collections  

  2.  

  3. '在此实际实现的是System.Collections.IEnumerable接口,
    IteratorProduct 用此接口来向使用者提供对IEnumerator接口的操作。  

  4.  

  5. Public Class IteratorProduct : Implements System.Collections.IEnumerable  

  6. Private Products As Collection '用Collection在存订单中的所有产品  

  7. Private item As Integer = -1  

  8.  

  9. Public Sub New()  

  10. Products = New Collection  

  11. Products.Add("xh") '这只是为了测试方便,将加入产品的内容直接写在这了  

  12. Products.Add("lj")  

  13. Products.Add("qd")  

  14. End Sub  

  15.  

  16. Overridable ReadOnly Property Current() As Object  

  17. Get  

  18. Return Products(item)  

  19. End Get  

  20. End Property  

  21.  

  22. Public Overridable Function MoveNext() As Boolean  

  23. item += 1  

  24. End Function  

  25.  

  26. Overridable Sub Reset()  

  27. item = -1  

  28. End Sub  

  29.  

  30. '返回迭代对像给使用者  

  31.  

  32. Overridable Function GetEnumerator() 
    As IEnumerator Implements IEnumerable.GetEnumerator  

  33. Return Me.Products.GetEnumerator  

  34. End Function  

  35.  

  36. End Class 

关于VB.NET中怎么实现一个IEnumerator接口就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


分享名称:VB.NET中怎么实现一个IEnumerator接口
文章网址:http://cdiso.cn/article/ijdijs.html

其他资讯