Allen.Util.CSharpRefTree.Program.PrintAss C# (CSharp) Метод

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

private static PrintAss ( ) : void
Результат void
        private static void PrintAss()
        {
            foreach (var prjInfo in prjInfoDic.Values.Where(item => item.RefError.Count > 0))
            {
                Console.WriteLine(prjInfo.ToString());
            }

            Console.WriteLine(LostAssembly.OutputList("Lost Assemblies"));

            int level = 0;
            Console.WriteLine(root.OutputList($"-------------Level {level}-------------\n", item => $"{item.AssemblyName},{item.PrjFullName}\n"));
            root.OrderBy(item => item.Module).ToList().ForEach(item => prjInfoDic.Remove(item.AssemblyName));
            level++;
            while (prjInfoDic.Count > 0)
            {
                var count = prjInfoDic.Count;


                var thisLevel = prjInfoDic.Values
                    .Where(item => (!item.PrjRef.Exists(refItem => !root.Contains(refItem))))
                    .OrderBy(item => item.Module)
                    .ToList();
                if (thisLevel.Count == 0)
                {
                    var recursivePrj = DealRecursiveRef();

                    if (recursivePrj == null)
                    {
                        Console.WriteLine("Failed to remove cycle!");
                        break;
                    }
                    else
                    {
                        thisLevel.Add(recursivePrj);
                    }
                }
                Console.WriteLine(thisLevel.OutputList($"-------------Level {level}-------------\n", item => $"{item.AssemblyName},{item.PrjFullName}\n"));
                root.AddRange(thisLevel);
                thisLevel.ForEach(item => prjInfoDic.Remove(item.AssemblyName));


                GenSln(thisLevel, level);


                level++;
            }

            Console.WriteLine(prjInfoDic.Values.ToList().OrderBy(item => item.Module).ToList().OutputList("-------------Not Reachable-------------\n"
            , item => item.AssemblyName + "\n"));
            foreach (var notReachableAss in prjInfoDic)
            {
                Console.WriteLine(
              notReachableAss.Value.PrjRef
                    .Where(item => !root.Contains(item))
                    .Select(item => item.AssemblyName)
                    .ToList()
                    .OutputList(notReachableAss.Key + " Ref not in builded list\n", item => "\t" + item + "\n")
                    );
            }

        }