title: The type parameter cannot be used with type arguments
body: <p>I wanted to code a helper method in Unit test project, which will initialize the presenter set the views instance to it and set the presenter state. </p>
  
  <p>It threw me the exception: </p>
  
  <blockquote>
    <p>the type parameter cannot be used with type arguments</p>
  </blockquote>
  
  <p>Code:</p>
  
  <pre><code>public static **TPresenter&lt;TView&gt;** Initialize&lt;TPresenter,TView&gt;()
      where TPresenter: BasePresenter&lt;TView&gt;, new()
      where TView : new()
  {
  }
  </code></pre>
  
  <p>After couple of minutes I found the issue was with my return type <code>TPresenter&lt;Tview&gt;</code></p>
  
  <p>I read few posts which didn't clearly explain Why I'm not be able to say <code>T1&lt;T2&gt;</code></p>
  
  <p>I was forced to make the presenter assignment through reference parameter. Any explanations are welcome! </p>