QuickGraph - 如何将Edge与类关联? (就像你可以使用顶点)

时间:2010-04-27 03:31:59

标签: quickgraph

Q1 - 如何将Edge与类相关联? (就像你可以使用顶点)

在我的情况下,我希望能够建模各种类型的边。所以我想我的真正问题是如何将某些级别的数据与边缘相关联(例如边缘类型)。

我正在使用的图表是:http://quickgraph.codeplex.com/wikipage?title=BidirectionalGraph&referringTitle=Documentation

感谢

2 个答案:

答案 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类,它允许您将任意对象与每条边相关联。