public static void TraverseTimelines(IEnumerable <Timeline> timelines, TraverseOperation operation) { foreach (Timeline timeline in timelines) { timeline.Traverse(operation); } }
public static void Traverse(this Timeline timeline, TraverseOperation operation) { if (operation ==null || timeline == null) return; operation(timeline); if (timeline.ChildTimelines == null) return; foreach (Timeline childTimeline in timeline.ChildTimelines) { Traverse(childTimeline, operation); } }
public static void Traverse(this Timeline timeline, TraverseOperation operation) { if (operation == null || timeline == null) { return; } operation(timeline); if (timeline.ChildTimelines != null) { foreach (Timeline childTimeline in timeline.ChildTimelines) { Traverse(childTimeline, operation); } } }