成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入概括VB.NET實現(xiàn)IEnumerator接口

開發(fā) 后端
這里介紹VB.NET實現(xiàn)IEnumerator接口,包括介紹MoveNext用于在迭代過程中將迭代指針指向下一個對象,初始是迭代指針指向集合的開始,一旦越過集合的結尾,在調用 Reset 之前,對 MoveNext 的后續(xù)調用返回 false。

VB.NET經過長時間的發(fā)展,很多用戶都很了解VB.NET實現(xiàn)IEnumerator接口了,這里我發(fā)表一下個人理解,和大家討論討論。在面向對象的設計中,經常會用到有類似父子關系的這個對象,比如在我現(xiàn)在的一個項目中,有訂單對象,在一個訂單下又包含多個產品,這時我就想用 Iterator模式來封裝訂單下的產品,在dot Net中的IEnumerator接口就是用來實現(xiàn)迭代的,來支持dot Net中的for each的操作。

VB.NET實現(xiàn)IEnumerator接口,需在實現(xiàn)以下幾個函數來支持IEnumerator接口的操作

  1. Overridable ReadOnly Property Current()   
  2. As Object 

Current用于在迭代過程中得到當前的對象

  1. Public Overridable Function MoveNext()   
  2. As Boolean 

MoveNext用于在迭代過程中將迭代指針指向下一個對象,初始是迭代指針指向集合的開始(在***個節(jié)點之前的位置),一旦越過集合的結尾,在調用 Reset 之前,對 MoveNext 的后續(xù)調用返回 false。

  1. Overridable Sub Reset() 

將枚舉數設置為其初始位置,該位置位于集合中***個元素之前。

只要集合保持不變,枚舉數就將保持有效。如果對集合進行了更改(例如添加、修改或刪除元素),則該枚舉數將失效且不可恢復,并且下一次對 MoveNext 或 Reset 的調用將引發(fā)InvalidOperationException。

下需是一個具體的VB.NET實現(xiàn)IEnumerator接口的對像

  1. Imports System.Collections  
  2.  
  3. '在此實際實現(xiàn)的是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 

【編輯推薦】

  1. 三步了解VB.NET串口通訊如何發(fā)送接收數據
  2. 是否了解VB.NET Derived Class
  3. 迅速掌握VB.NET Shared變量技能
  4. 事例講解VB.NET Constructor函式
  5. 剖析VB.NET寫Object Oriented編程
責任編輯:佚名 來源: CSDN
相關推薦

2009-11-02 15:45:03

VB.NET IEnu

2010-01-14 09:55:06

VB.NET IEnu

2009-10-21 10:05:30

VB.NET運行環(huán)境

2009-10-14 14:04:29

VB.NET創(chuàng)建Web

2009-10-26 15:57:07

VB.NET使用Ora

2009-10-13 14:50:59

VB.NET Envi

2009-10-15 17:50:48

VB.NET Spli

2009-10-14 10:19:57

VB.NET Doma

2009-10-28 10:51:32

VB.NET默認屬性

2009-11-03 10:00:20

VB.NET New方

2009-10-14 13:15:09

VB.NET數據綁定

2009-10-14 15:34:29

VB.NET窗體編程模

2009-11-03 10:51:33

VB.NET共享

2009-10-23 14:06:07

VB.NET類對象

2009-10-14 16:46:25

VB.NET OnSt

2009-10-27 11:32:42

VB.NET Disp

2009-10-27 10:30:18

VB.NET實現(xiàn)動態(tài)菜

2009-11-02 09:21:04

VB.NET文件系統(tǒng)

2009-11-02 17:49:05

VB.NET抽象類

2009-10-28 14:44:43

VB.NET Name
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄免费在线 | 亚洲午夜视频在线观看 | www国产成人免费观看视频,深夜成人网 | 欧美5区 | 国产乱码精品一区二区三区中文 | 麻豆久久久9性大片 | 天天草天天射 | 免费视频一区二区 | 久久久久国 | 日韩α片 | 99草免费视频 | 国产精品久久久久无码av | 国产美女黄色 | 国产精品久久久久久久久久久久 | 色综合久久天天综合网 | 一区二区三区精品在线 | 国产高清视频在线 | 亚洲高清在线 | а天堂中文最新一区二区三区 | 成人国产精品久久久 | 日韩在线观看 | 理论片87福利理论电影 | 久久精品国产一区二区电影 | 噜噜噜噜狠狠狠7777视频 | 天天操天天射天天 | 91香蕉视频在线观看 | 亚洲国产高清免费 | 亚洲一区二区精品视频 | 欧美成人精品一区二区三区 | 成人动漫视频网站 | 99热首页| www.久草| 日韩免费三级 | 国产精品国产a | 福利二区 | 久久久久久亚洲精品不卡 | 不卡一区二区三区四区 | 色久影院| xxx视频| 久久一久久 | 日本三级在线 |