我需要制作图,并且希望将边和顶点设为通用类型
public interface IVertex<TVertex, TEdge>
where TVertex : IVertex<?>
where TEdge : IEdge<?>
{
bool AddEdge(TEdge e);
TEdge FindEdge(TVertex v);
}
public interface IEdge<TVertex> where TVertex : IVertex<?>
{
TVertex From { get; }
}
但是,边缘需要顶点类型,而顶点需要边缘类型我该怎么办?
我认为您正在使它变得更加复杂。
这样的事情会起作用吗?
public interface IVertex<T>
{
bool AddEdge(IEdge<T> e);
IEdge<T> FindEdge(IVertex<T> v);
}
public interface IEdge<T>
{
IVertex<T> From { get; }
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句