怎么了?
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那种解释为什么这种强制转换不起作用。