我需要在将Edge对象添加到图形之前对Edge对象进行一些工作,所以我像这样创建它
private void AddNewEdgeToGraph(string sourceNodeID, string targetNodeID)
{
Edge newEdge = new Edge(sourceNodeID, "", targetNodeID);
newEdge.LabelText = newEdge.Attr.Weight.ToString();
graph.AddPrecalculatedEdge(newEdge);
}
而且,正如您所猜到的,我在最后一行代码中得到了NullReferenceException。我双重检查参数的正确性,我确信图表包含具有此类ID的节点。我也尝试过这样添加Edges:
Edge newEdge = new Edge(graph.FindNode("path1"), graph.FindNode("path2"),
ConnectionToGraph.Connected);
newEdge.LabelText = newEdge.Attr.Weight.ToString();
graph.AddPrecalculatedEdge(newEdge);
这个工作正常。我认为第一个变种使用引擎盖下的第二个变体,那么问题可能是什么呢?