示例#1
0
        public TypeCodeNode addSubNode(String code, String name)
        {
            TypeCodeNode subNode = new TypeCodeNode();
            subNode.code = code;
            subNode.name = name;
            this.subNodes.Add(subNode);

            return subNode;
        }
示例#2
0
        public List<TypeCodeNode> getNodeByLevel(TypeCodeNode node, int level)
        {
            List<TypeCodeNode> all = new List<TypeCodeNode>();
            foreach (TypeCodeNode subnode in node.subNodes)
            {
                if (subnode.code.Length == level)
                {
                    all.Add(subnode);
                }

                if (subnode.code.Length < level)
                {
                    List<TypeCodeNode> allSubNode = getNodeByLevel(subnode,level);
                    all.AddRange(allSubNode);
                }

            }
            return all;
        }
示例#3
0
 public TypeCodeNode getSubNodeByName(TypeCodeNode node, string name)
 {
     foreach (TypeCodeNode subnode in node.subNodes)
     {
         if (String.Compare(subnode.name, name) == 0)
         {
             return subnode;
         }
         TypeCodeNode subNode = getSubNodeByName(subnode, name);
         if (subNode != null)
         {
             return subNode;
         }
     }
     return null;
 }
示例#4
0
 public List<TypeCodeNode> getAllSubNode(TypeCodeNode node)
 {
     List<TypeCodeNode> all = new List<TypeCodeNode>();
     foreach (TypeCodeNode subnode in node.subNodes)
     {
         all.Add(subnode);
         List<TypeCodeNode> allSubNode = getAllSubNode(subnode);
         all.AddRange(allSubNode);
     }
     return all;
 }