Liebe Kolleginnen und Kollegen,
gehen wir von folgender Situation aus:
- Wir haben eine Klasse Element, die eine Auflistung beliebiger Art vom Typ
Element enthält.
Class Element
Childs As IEnumerable(Of Element)
End Class
- Nun haben wir eine Instanz Source einer Auflistung beliebiger Art vom Typ Element, mit 0 bis n Elementen, die jeweils 0 bis m Elemente enthalten. In einer Zielvariablen Instanz Destination
einer dynamischen Auflistung vom Typ Element möchten wir nun alle in Source auf allen Ebenen befindliche Elemente auf eine Ebene auflisten.
Public Source As IEnumerable(Of Element)
Public Destination As IEnumerable(Of Element)
Source =
Element1
Element1a
Element1b
Element2
Element3
Element3a
->
Destination =
Element1
Element1a
Element1b
Element2
Element3
Element3a
Gegenstand: Konkreten Möglichkeiten, um diese Aufgabe zu bewältigen.
Auf eure Ideen und Vorschläge freue ich mich.
Ich selbst werfe folgende Methode in den Raum:
Sub Convert(parent As Element)
Destination.Add(parent)
If parent.Childs.Count > 0 Then Array.ForEach(parent.Childs.ToArray(), Sub(x) Convert(x))
End Sub
Diese Methode sollte dann wie folgt aufgerufen werden:
Array.ForEach(Source.ToArray(), Sub(x) Convert(x))