91在线一级黄片|91视频在线观看18|成人夜间呦呦网站|91资源欧美日韩超碰|久久最新免费精品视频一区二区三区|国产探花视频在线观看|黄片真人免费三级片毛片|国产人无码视频在线|精品成人影视无码三区|久久视频爱久久免费精品

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
深入概括VB.NET實現(xiàn)IEnumerator接口

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

專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站設計服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)崗巴免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。

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

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

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

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

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

 
 
 
  1. Overridable Sub Reset() 

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

只要集合保持不變,枚舉數(shù)就將保持有效。如果對集合進行了更改(例如添加、修改或刪除元素),則該枚舉數(shù)將失效且不可恢復,并且下一次對 MoveNext 或 Reset 的調(diào)用將引發(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在存訂單中的所有產(chǎn)品  
  7. Private item As Integer = -1  
  8.  
  9. Public Sub New()  
  10. Products = New Collection  
  11. Products.Add("xh") '這只是為了測試方便,將加入產(chǎn)品的內(nèi)容直接寫在這了  
  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ā)送接收數(shù)據(jù)
  2. 是否了解VB.NET Derived Class
  3. 迅速掌握VB.NET Shared變量技能
  4. 事例講解VB.NET Constructor函式
  5. 剖析VB.NET寫Object Oriented編程

當前標題:深入概括VB.NET實現(xiàn)IEnumerator接口
轉載來源:http://m.jiaoqi3.com/article/ccoscgc.html