Q1 - 如何将Edge与类相关联? (就像你可以使用顶点)
在我的情况下,我希望能够建模各种类型的边。所以我想我的真正问题是如何将某些级别的数据与边缘相关联(例如边缘类型)。
我正在使用的图表是:http://quickgraph.codeplex.com/wikipage?title=BidirectionalGraph&referringTitle=Documentation
感谢
答案 0 :(得分:4)
默认情况下,边连接图上的两个顶点。如果需要与边相关的更多信息(即“关系”),则可以实现IEdge<T>
接口或子类Edge<T>
。然后,在自定义边缘类中,您可以存储与该边缘相关的信息。
即
public class MyEdge<TVertex> : Edge<TVertex>
{
public string Name { get; set; }
public MyEdge(TVertex source, TVertex target) : base(source, target)
{
}
}
......稍后
var graph = new BidirectionalGraph<int, MyEdge<int>>();
答案 1 :(得分:3)
您还可以使用TaggedEdge类,它允许您将任意对象与每条边相关联。