儘管場景很奇怪,但並非作業問題。我剛剛用我正在使用的真實對象來簡化示例。創建集合對象
This讓我從這裏開始,但不確定如何繼續。我試圖寫一個包含集合的類,並且我迷失在IEnumerator
和IEnumerable
的世界中,這是我非常陌生(甚至不完全確定我在正確的道路上)。比方說,我有一個類:
Public Class BakedBean
Private Shape As String
Private Variety As String
Private Flavour As String
'etc
End Class
而另一個類來表示的BakedBean
個集合:
Public Class TinOfBeans
'?
End Class
我希望能夠在TinOfBeans
類來獲得Beans
的收集,從而使我可以撥打電話這樣的,但沒有被捆綁到特定集合類型:
Dim myTin As New TinOfBeans()
myTin.Add(New BakedBean(...))
For Each bean As BakedBean in myTin
'...
Next
myTin(0).Flavour = "beany"
我一直在看IEnumerable
和IEnumerator
,我有這麼多,到目前爲止,但我越來越非常失去了它:
BakedBean類
Public Class BakedBean
Private Shape As String
Private Variety As String
Private Flavour As String
'etc
End Class
BeansEnumerator類
Public Class BeansEnumerator
Implements IEnumerator
Private Position As Integer = -1
Public ReadOnly Property Current As Object Implements System.Collections.IEnumerator.Current
Get
'???
End Get
End Property
Public Function MoveNext() As Boolean Implements System.Collections.IEnumerator.MoveNext
'???
End Function
Public Sub Reset() Implements System.Collections.IEnumerator.Reset
Position = -1
End Sub
End Class
TinOfBe答類
Public Class TinOfBeans
Implements IEnumerable
Private beansEnum As BeansEnumerator
Public Function GetEnumerator() As System.Collections.IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
Return beansEnum
End Function
End Class
在這一點上我得到的結,而捆綁起來,而且不知道如何着手(或者,正如我在開始時說,如果這是即使是正確的做法)。有什麼建議麼?
讓我看看,如果我理解你。你想要一個List的類? – Alexandre
我想要一個類是一個集合,不一定是一個List。 – Kai
我可以問你爲什麼需要這個?標準收藏有什麼問題? – Alexandre