您好,登錄后才能下訂單哦!
這篇文章給大家介紹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接口的對像
Imports System.Collections
'在此實際實現的是System.Collections.IEnumerable接口,
IteratorProduct 用此接口來向使用者提供對IEnumerator接口的操作。
Public Class IteratorProduct : Implements System.Collections.IEnumerable
Private Products As Collection '用Collection在存訂單中的所有產品
Private item As Integer = -1
Public Sub New()
Products = New Collection
Products.Add("xh") '這只是為了測試方便,將加入產品的內容直接寫在這了
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.GetEnumeratorReturn Me.Products.GetEnumerator
End Function
End Class
關于VB.NET中怎么實現一個IEnumerator接口就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。