Liste mit Next und Previous Methode

21/10/2009 - 21:22 von Peter Gast | Report spam
Hallo
ich benötige eine Collection oder Array, das mit Objecten gefüllt wird und
die eine Funktion hat, bei der ich ein bestimmtes in der Collection
enthaltene Object übergebe und dann das innerhalb der Collection direkt
nachfolgende oder vorherige abrufen kann. In Collection oder
Generic.Collection finde ich aber keine Klasse, die eine solche Methode
implentiert hat.

Dim Liste as New List (Of MeinObjectTyp)

Function Next (byval AktuellesObject) as MeinObjectTyp
return Liste(AktuellesObject).Next
end function

Dim ObjectA as new MeinObjectTyp, .

Liste.Add (ObjectA)
Liste.Add (ObjectB)
Liste.Add (Object C)
Liste.Add (ObjectD)

Next (ObjectB) liefert dann z.B ObjectC


Danke Peter
 

Lesen sie die antworten

#1 wolf
21/10/2009 - 22:08 | Warnen spam
Hallo,

Peter Gast schrieb:

ich benötige eine Collection oder Array, das mit Objecten gefüllt wird und
die eine Funktion hat, bei der ich ein bestimmtes in der Collection
enthaltene Object übergebe und dann das innerhalb der Collection direkt
nachfolgende oder vorherige abrufen kann.



Ich weiß nicht, ob es dafür schon etwas 'Fertiges' gibt, ich würde das
aber wohl direkt in der jeweiligen Klasse implementieren (der Einfachheit
halber ohne explizite Properties):

Public Class EinObjekt

Public nextObject As EinObjekt
Public prevObject As EinObjekt
Public id As String

Public Sub New(ByVal vorherigesObjekt As EinObjekt, ByVal eineId As String)

prevObject = vorherigesObjekt

If vorherigesObjekt IsNot Nothing Then
vorherigesObjekt.nextObject = Me
End If

id = eineId

End Sub

End Class

Verwendung:

Sub Main()

Dim erstesObjekt As New EinObjekt(Nothing, "eins")
Dim zweitesObjekt As New EinObjekt(erstesObjekt, "zwei")
Dim drittesObjekt As New EinObjekt(zweitesObjekt, "drei")

Console.WriteLine(erstesObjekt.nextObject.nextObject.id)
Console.WriteLine(zweitesObjekt.prevObject.id)
Console.ReadLine()

End Sub


hth,

Wolf
24 hours isn't enough (von 'Dittsche')

Ähnliche fragen