CSharpUML.MainClass.VisualStudio2Uml C# (CSharp) Метод

VisualStudio2Uml() приватный статический Метод

private static VisualStudio2Uml ( IEnumerable paths, string target ) : void
paths IEnumerable
target string
Результат void
        private static void VisualStudio2Uml(IEnumerable<string> paths, string target)
        {
            if (target.Length > 0) {
                try {
                    Console.WriteLine ("Read: " + target);
                    IUmlObject[] readObjs = new UmlParser ().Parse (target).ToArray ();
                    Console.WriteLine ("Read: " + target);
                } catch (FileNotFoundException ex) {
                    Console.WriteLine (ex.ToString ());
                }

                List<IUmlObject> objects = new List<IUmlObject> ();
                for (int _try = 0; _try <= 3 && objects.Count == 0; ++_try) {
                    foreach (string _path in paths) {
                        string path = _path;
                        for (int p = 0; p < _try; ++p)
                            path += "/../";
                        Console.WriteLine (path);
                        Action<string> processFile = (filename) => {
                            if (filename.Contains ("ModelDefinition") && !filename.Contains ("ModelingProject")) {
                                Console.WriteLine ("Read: " + filename);
                                IParser parser = new VSParser ();
                                objects.AddRange (parser.Parse (filename));
                            }
                        };
                        Files.SearchFiles (path, new string[]{".uml"}, processFile);
                    }
                }
                objects.Sort ();
                Console.WriteLine ("Write: " + target);
                List<string> lines = new List<string> ();
                foreach (IUmlObject obj in objects.Where ((o) => !IsBlacklisted(o.Name))) {
                    lines.Add (obj.ToUmlCode ());
                    lines.Add ("");
                }
                Files.WriteLines (target, lines);
            } else {
                Console.WriteLine ("Error! No target file specified!");
            }
        }