public void AddChild(CustomNode node) { if (children == null) { children = new List <CustomNode>(); } children.Add(node); }
static void TranverseTree(CustomNode node) { if (node is MidNode) { var mid = node as MidNode; Console.WriteLine($"中间节点:{ mid.Name}"); if (mid.Children != null) { foreach (var sub in mid.Children) { TranverseTree(sub); } } } else if (node is LeafNode) { var leaf = node as LeafNode; Console.WriteLine($"叶节点:{leaf.Name}、{leaf.Value}"); } }