本文整理汇总了C#中Edge.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# Edge.GetType方法的具体用法?C# Edge.GetType怎么用?C# Edge.GetType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Edge
的用法示例。
在下文中一共展示了Edge.GetType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddEdge
/// <summary>
/// Used for serialization. Not for private use.
/// </summary>
/// <param name="e">edge to add.</param>
internal virtual void AddEdge(Edge e)
{
if (e==null)
throw new ArgumentNullException("vertex");
if (e.GetType().IsAssignableFrom(EdgeProvider.EdgeType))
throw new ArgumentNullException("vertex type not valid");
Vertex source= (Vertex)e.Source;
if (!this.vertexOutEdges.Contains(source))
throw new VertexNotFoundException(source.ToString());
Vertex target= (Vertex)e.Target;
if (!this.vertexOutEdges.Contains(target))
throw new VertexNotFoundException(target.ToString());
// if parralel edges are not allowed check if already in the graph
if (!this.AllowParallelEdges)
{
if (ContainsEdge(source,target))
throw new ArgumentException("graph does not allow duplicate edges");
}
// create edge
this.EdgeProvider.UpdateEdge(e);
this.vertexOutEdges[source].Add(e);
this.vertexInEdges[target].Add(e);
}