当前位置: 首页>>代码示例>>C#>>正文


C# AdjacencyGraph.ToDirectedGraphML方法代码示例

本文整理汇总了C#中AdjacencyGraph.ToDirectedGraphML方法的典型用法代码示例。如果您正苦于以下问题:C# AdjacencyGraph.ToDirectedGraphML方法的具体用法?C# AdjacencyGraph.ToDirectedGraphML怎么用?C# AdjacencyGraph.ToDirectedGraphML使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在AdjacencyGraph的用法示例。


在下文中一共展示了AdjacencyGraph.ToDirectedGraphML方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ExecuteCommand

        public override void ExecuteCommand()
        {
            var sw = new Stopwatch();
            sw.Start();
            var repository = GetRepository();
            var packageSource = repository.GetPackages().Where(p => p.IsLatestVersion);
            var packages = FilterPackageList(packageSource);

            _graph = new AdjacencyGraph<string,Edge<string>>();

            foreach (var package in packages)
            {
                RecursePackageDependencies(package);
            }

            if (NoLoners)
            {
                RemoveLonersFromGraph();
            }

            var dgml = _graph.ToDirectedGraphML(_graph.GetVertexIdentity(),_graph.GetEdgeIdentity(),(n,d) => d.Label = n,(e,l) => l.Label = "");
            if (File.Exists(Output))
                File.Delete(Output);
            dgml.WriteXml(Output);

            var isDirectedAcyclicGraph = _graph.IsDirectedAcyclicGraph();
            if (DAGCheck)
            {
                Console.WriteLine();
                Console.WriteLine(isDirectedAcyclicGraph ? "Graph is a DAG." : "Graph is CYCLIC");
            }

            Console.WriteLine();
            sw.Stop();
            OutputElapsedTime(sw);
            Environment.Exit(DAGCheck ? isDirectedAcyclicGraph ? 0 : 1 : 0);
        }
开发者ID:modulexcite,项目名称:NuGet.Extensions,代码行数:37,代码来源:Graph.cs

示例2: BuildGraph

        private static DirectedGraph BuildGraph(Dictionary<string, string> allDbObjTypes, Tuple<string, string, string>[] allDependencies)
        {
            var graph = new AdjacencyGraph<SqlItem, Edge<SqlItem>>();
            foreach (var item in allDependencies)
            {
                string objType1, objType2;
                objType1 = allDbObjTypes.TryGetValue(item.Item1, out objType1) ? objType1 : "Unknown";
                objType2 = allDbObjTypes.TryGetValue(item.Item2, out objType2) ? objType2 : "Unknown";
                SqlItem sqlItem1 = new SqlItem(item.Item1, objType1);
                SqlItem sqlItem2 = new SqlItem(item.Item2, objType2);
                Edge<SqlItem> newEdge = new Edge<SqlItem>(sqlItem1, sqlItem2);
                graph.AddVerticesAndEdge(newEdge);
            }

            foreach (string item in allDbObjTypes.Values.Distinct())
            {
                Console.WriteLine(item);
            }

            var graphToDirectedGraphML = graph.ToDirectedGraphML(vertex => vertex.Name,
                                                                ege => string.Empty,
                                                                (sqI, dgn) => { dgn.TypeName = GetShortSqlTypeName(sqI.SqlType); },
                                                                (eqi, dgl) => { });
            return graphToDirectedGraphML;
        }
开发者ID:ScottWeinstein,项目名称:SQLDependencyGraph,代码行数:25,代码来源:Program.cs


注:本文中的AdjacencyGraph.ToDirectedGraphML方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。