private void generateChildNodesStruct(ref treeNode1 tmpNode, Random rd, int nodecount, int layer) { tmpNode._children = new object[nodecount]; for (int i = 0; i < nodecount; i++) { treeNode1 t = new treeNode1(); t.father = tmpNode; t.data = rd.Next(100); tmpNode._children[i] = t; } for (int i = 0; i < nodecount; i++) { treeNode1 t = (treeNode1)tmpNode._children[i]; if (t.maxLayer() < layer) { generateChildNodesStruct(ref t, rd, nodecount, layer); } else { if (i == nodecount - 1) { lastNode = t; } } } }