Пример #1
0
 private static bool PostOrder(
     ITraversing node, Visitor visitor, ICollection <ITraversing> visited)
 {
     TraversingHelper.CheckCircularity(visited, node);
     if (node == null || visitor == null)
     {
         return(true);
     }
     node.Traverse(child => PostOrder(child, visitor, visited));
     return(visitor(node));
 }
Пример #2
0
 public static void Traverse(this ITraversing node, Visitor visitor)
 {
     node.Traverse(TraversingAxis.Child, visitor);
 }