title: Looping generic type in c#
body: <p>I need to make the graph and I want to the edges and the vertices to be generic type</p>
  
  <pre><code>public interface IVertex&lt;TVertex, TEdge&gt;
          where TVertex : IVertex&lt;?&gt;
          where TEdge : IEdge&lt;?&gt;
  {
      bool AddEdge(TEdge e);
      TEdge FindEdge(TVertex v);
  }
  
  public interface IEdge&lt;TVertex&gt; where TVertex : IVertex&lt;?&gt;
  {
      TVertex From { get; }
  }
  </code></pre>
  
  <p>But, the edge required the vertex type and the vertex required the edge type
  What should I do?</p>