예제 #1
0
 private void RemoveEmptyNodes(AreaNode node)
 {
     if (node == null)
     {
         return;
     }
     if (node.Children != null)
     {
         for (int i = 0; i < node.Children.Count; i++)
         {
             AreaNode subNode = node.Children[i];
             if (subNode.IsSelftEmpty())
             {
                 node.Children.RemoveAt(i);
                 i--;
             }
             else
             {
                 RemoveEmptyNodes(subNode);
                 if (subNode.IsSelftEmpty())
                 {
                     node.Children.RemoveAt(i);
                     i--;
                 }
             }
         }
     }
 }
예제 #2
0
 private void RemoveEmptyNodes(AreaNode node)
 {
     try
     {
         if (node == null)
         {
             return;
         }
         if (node.Children != null)
         {
             for (int i = 0; i < node.Children.Count; i++)
             {
                 AreaNode subNode = node.Children[i];
                 if (subNode.IsSelftEmpty())
                 {
                     node.Children.RemoveAt(i);
                     i--;
                 }
                 else
                 {
                     RemoveEmptyNodes(subNode);
                     if (subNode.IsSelftEmpty())
                     {
                         node.Children.RemoveAt(i);
                         i--;
                     }
                 }
             }
         }
     }
     catch (System.Exception ex)
     {
         Log.Error(tag, "RemoveEmptyNodes", ex.ToString());
     }
 }