foreach (TargetObject innerObject1 in complexObject.InnerObjects) {
foreach (TargetObject innerObject2 in innerObject1.InnerObjects) {
foreach (TargetObject innerObject3 in innerObject2.InnerObjects) {
yield return innerObject3;
}
yield return innerObject2;
}
yield return innerObject1;
}
How can I do this cursively? I need to aggregate all instances of TargetObject
trapped in these nested listed into one list. Here's an attempt that didn't work.
public static IEnumerable<TargetObject> GetRecursively(params TargetObject[] startingObjects)
{
foreach (TargetObject startingObject in startingObjects)
{
foreach (TargetObject innerObject in GetRecursively(startingObject.InnerObjects.ToArray()))
{
yield return innerObject;
}
yield return startingObject;
}
}