static void Main(string[] args) { Directory root = new Directory("ROOT"); Directory leftDirectory = new Directory("LEFT_DIR"); Directory leftleftDirectory = new Directory("LEFT_LEFT_DIR"); Directory rightDirectory = new Directory("RIGHT_DIR"); Directory rightleftDirectory = new Directory("RIGHT_LEFT_DIR"); Directory rightrightDirectory = new Directory("RIGHT_RIGHT_DIR"); rightrightDirectory.Add(GenerateRave(3)); rightleftDirectory.Add(GenerateRave(4)); rightDirectory.Add(GenerateRave(2)); leftleftDirectory.Add(GenerateRave(5)); leftDirectory.Add(GenerateRave(1)); #region Connections leftleftDirectory.Add(leftDirectory); rightDirectory.Add(rightrightDirectory); rightDirectory.Add(rightleftDirectory); root.Add(leftDirectory); root.Add(rightDirectory); #endregion PrintVisitor print = new PrintVisitor(); //print.visit(root); //Serialize(root, "dir"); var t = Deserialize <Directory>("dir"); print.visit(t); //Console.WriteLine("{0,10}", "ttt"); //using (var stream = System.IO.File.Open($"../../dirxml", FileMode.OpenOrCreate)) //{ // XmlSerializer xml = new XmlSerializer(typeof()); // xml.Serialize(stream, xml); //} Console.ReadKey(); }