Ejemplo n.º 1
0
        void WriteNodeDeep(EmberNode frame)
        {
            var nodeStack = new Stack <StackElem>();

            nodeStack.Push(new StackElem(frame, 1));
            Console.WriteLine(frame.ToString());

            while (nodeStack.Count > 0)
            {
                var elem     = nodeStack.Peek();
                var node     = elem.Node;
                var position = elem.Position;
                var indent   = elem.Indent;
                var isPushed = false;

                while (position.MoveNext())
                {
                    var current = position.Current;

                    Console.WriteLine(new String(' ', indent * 3) + current.ToString());

                    if (current is EmberContainer)
                    {
                        nodeStack.Push(new StackElem(current, indent + 1));
                        isPushed = true;
                        break;
                    }
                }

                if (isPushed == false)
                {
                    nodeStack.Pop();
                }
            }
        }
Ejemplo n.º 2
0
        void WriteNodeDeep(EmberNode frame)
        {
            var nodeStack = new Stack<StackElem>();
             nodeStack.Push(new StackElem(frame, 1));
             Console.WriteLine(frame.ToString());

             while(nodeStack.Count > 0)
             {
            var elem = nodeStack.Peek();
            var node = elem.Node;
            var position = elem.Position;
            var indent = elem.Indent;
            var isPushed = false;

            while(position.MoveNext())
            {
               var current = position.Current;

               Console.WriteLine(new String(' ', indent * 3) + current.ToString());

               if(current is EmberContainer)
               {
                  nodeStack.Push(new StackElem(current, indent + 1));
                  isPushed = true;
                  break;
               }
            }

            if(isPushed == false)
               nodeStack.Pop();
             }
        }