快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

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://6mz.cn/article/ijdijs.html

其他资讯