本文整理汇总了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);
}
示例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;
}