新聞中心
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接口的操作
- Overridable ReadOnly Property Current()
- As Object
Current用于在迭代過程中得到當前的對象
- Public Overridable Function MoveNext()
- As Boolean
MoveNext用于在迭代過程中將迭代指針指向下一個對象,初始是迭代指針指向集合的開始(在***個節(jié)點之前的位置),一旦越過集合的結尾,在調(diào)用 Reset 之前,對 MoveNext 的后續(xù)調(diào)用返回 false。
- Overridable Sub Reset()
將枚舉數(shù)設置為其初始位置,該位置位于集合中***個元素之前。
只要集合保持不變,枚舉數(shù)就將保持有效。如果對集合進行了更改(例如添加、修改或刪除元素),則該枚舉數(shù)將失效且不可恢復,并且下一次對 MoveNext 或 Reset 的調(diào)用將引發(fā)InvalidOperationException。
下需是一個具體的VB.NET實現(xiàn)IEnumerator接口的對像
- Imports System.Collections
- '在此實際實現(xiàn)的是System.Collections.IEnumerable接口,
IteratorProduct 用此接口來向使用者提供對IEnumerator接口的操作。- Public Class IteratorProduct : Implements System.Collections.IEnumerable
- Private Products As Collection '用Collection在存訂單中的所有產(chǎn)品
- Private item As Integer = -1
- Public Sub New()
- Products = New Collection
- Products.Add("xh") '這只是為了測試方便,將加入產(chǎn)品的內(nèi)容直接寫在這了
- Products.Add("lj")
- Products.Add("qd")
- End Sub
- Overridable ReadOnly Property Current() As Object
- Get
- Return Products(item)
- End Get
- End Property
- Public Overridable Function MoveNext() As Boolean
- item += 1
- End Function
- Overridable Sub Reset()
- item = -1
- End Sub
- '返回迭代對像給使用者
- Overridable Function GetEnumerator()
As IEnumerator Implements IEnumerable.GetEnumerator- Return Me.Products.GetEnumerator
- End Function
- End Class
【編輯推薦】
- 三步了解VB.NET串口通訊如何發(fā)送接收數(shù)據(jù)
- 是否了解VB.NET Derived Class
- 迅速掌握VB.NET Shared變量技能
- 事例講解VB.NET Constructor函式
- 剖析VB.NET寫Object Oriented編程
當前標題:深入概括VB.NET實現(xiàn)IEnumerator接口
轉載來源:http://m.jiaoqi3.com/article/ccoscgc.html


咨詢
建站咨詢
