gpt4 book ai didi

c# - 如何将 QuickGraph 中的自定义 BidirectionalGraph 应用到 Graph# 中的 GraphLayout?

转载 作者:行者123 更新时间:2023-11-30 16:34:33 25 4
gpt4 key购买 nike

怎么了?

    using QuickGraph;
using GraphSharp;

public class State
{
public string Name { get; set; }
public override string ToString()
{
return Name;
}
}

public class Event
{
public string Name;
public override string ToString()
{
return Name;
}
}

BidirectionalGraph<State, TaggedEdge<State, Event>> x =
new BidirectionalGraph<State, TaggedEdge<State, Event>>();

GraphLayout graphLayout = new GraphLayout();
graphLayout.Graph = x;

错误:

无法隐式转换类型 QuickGraph.BidirectionalGraph<ChashaGraphSharp.State,QuickGraph.TaggedEdge<ChashaGraphSharp.State,ChashaGraphSharp.Event>>QuickGraph.IBidirectionalGraph<object,QuickGraph.IEdge<object>> .存在显式转换(是否缺少强制转换?)

如果我进行强制转换,那么应用程序在启动时会在没有任何信息的情况下出现错误

怎么了?

最佳答案

您需要使用类型 IEdge 而不是 TaggedEdge 创建 BidirectionGraph 的实例:

BidirectionalGraph<State, IEdge<State, Event>> x =
new BidirectionalGraph<State, IEdge<State, Event>>();

我不能说我完全理解为什么会这样,但是上面的内容应该有效。

编辑:asked a question这就解释了为什么这个类型转换不起作用。

关于c# - 如何将 QuickGraph 中的自定义 BidirectionalGraph 应用到 Graph# 中的 GraphLayout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2427254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com