/// <summary> /// Add data /// </summary> /// <param name="path">Path to add</param> public void Add(string path, T data) { List <string> vertexs = path.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries).ToList <string>(); string name = vertexs.Last(); vertexs.RemoveAt(vertexs.Count - 1); Vertex <T> cur = _root; foreach (string vertexName in vertexs) { var t = cur.GetChild(vertexName); if (t == null) { cur.AddChild(new Vertex <T>(vertexName, default(T))); } cur = cur.GetChild(vertexName); } cur.AddChild(new Vertex <T>(name, data)); }