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

发布时间:2021-08-06 15:32:07 作者:Leah
来源:亿速云 阅读:116

这篇文章给大家介绍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接口就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. 如何实现IEnumerator接口分析
  2. IEnumerable接口与IEnumerator接口

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

vb.net ienumerator

上一篇:VB.NET中怎么实现数据绑定

下一篇:如何解决某些HTML字符打不出来的问题

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》