2

Q1 - 如何将 Edge 与 Class 关联?(即就像你可以使用顶点一样)

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

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

谢谢

4

2 回答 2

4

默认情况下,一条边仅连接图上的两个顶点。如果您需要与边缘相关的更多信息(即“关系”),您可以实现IEdge<T>接口或子类Edge<T>。然后,在您的自定义边缘类中,您可以存储与该边缘相关的信息。

IE

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>>();
于 2010-05-05T21:00:59.727 回答
3

您还可以使用 TaggedEdge 类,它允许您将任意对象与每条边相关联。

于 2010-08-11T05:51:41.237 回答