title: Implicit defined generic types, is this possible?
body: <p>I currently want to write a generic extension method. If every generic type is availible in the parameters, I do not need to define the generic types:</p>
  
  <pre><code>//Extension Method
  public static GridBoundColumnBuilder&lt;TModel&gt;
       BoundEnum&lt;TModel, TValue&gt;(this GridColumnFactory&lt;TModel&gt; factory,
           Expression&lt;Func&lt;TModel, TValue&gt;&gt; expression);
  
  //I can call It this way, whitout setting &lt;TModel, TValue&gt;
  columns.BoundEnum(c =&gt; c.SomeProp);
  </code></pre>
  
  <p>If I want to add a generic type, that is not covered in the parameters, I need to set <code>&lt;TModel, TValue&gt;</code>:</p>
  
  <pre><code>//Extension Method
  public static GridBoundColumnBuilder&lt;TModel&gt;
      BoundEnum&lt;TModel, TValue, TEnum&gt;(this GridColumnFactory&lt;TModel&gt; factory,
           Expression&lt;Func&lt;TModel, TValue&gt;&gt; expression)
  
  //How it works:
  columns.BoundEnum&lt;TModel, TValue, TEnum&gt;(c =&gt; c.SomeProp);
  </code></pre>
  
  <p>Is there a way that I can only write this?</p>
  
  <pre><code>columns.BoundEnum&lt;TEnum&gt;(c =&gt; c.SomeProp);
  </code></pre>
  
  <hr>
  
  <p><strong>Edit</strong>: This is the full Method:</p>
  
  <pre><code>public static GridBoundColumnBuilder&lt;TModel&gt;
       BoundEnum&lt;TModel, TValue, TEnum&gt;(this GridColumnFactory&lt;TModel&gt; factory,
                Expression&lt;Func&lt;TModel, TValue&gt;&gt; expression)
      where TModel : class
      where TEnum : struct, IComparable
  {
      return factory.ForeignKey(expression, EnumHelper.ToSelectList&lt;TEnum&gt;());
  }
  </code></pre>