L3: ForEach im Baum - JirkaDellOro/Softwaredesign GitHub Wiki

Implementieren Sie eine Methode mit dem Namen ForEach(...) in Ihrer Baumknoten-Klasse. Die Methode nimmt die Referenz auf eine Funktion entgegen und ruft diese mit dem aktuellen Objekt als Parameter auf. Erweitern Sie den Code der Hauptklasse aus der vorangegangenen Aufgabe nach root.PrintTree()um

            root.PrintTree(); // zur besseren Zuordnung hier nochmal mit gelistet

            root.ForEach(Func);
        }
        static void Func(Node node)
        {
            Console.Write(node + " | ");
        }

Bei einem Programmlauf sollten Sie nun zusätzlich folgende Ausgabe erhalten
root | child1 | grand11 | grand13 | child1 | grand21 |

Studieren Sie zur Lösung der Aufgabe die Anweisung "delegate". Nach der Lösung, setzen Sie sich mit dem Iterator-Pattern in der Lektion "Design Patterns" auseinander.