title: C# can't infer type argument type from usage when using Action
body: <p>Suppose I have such code with MonoDevelope targeting .Net 3.5:</p>
  
  <pre><code>public void TestTemplate&lt;T&gt;(Action&lt;T&gt; action)
  {
      // pseudocode
      m_funcDict[typeof(T).GetHashCode()] += action;
  }
  
  public void TestUsage(object arg)
  {
      TestTemplate(TestUsage);
  }
  </code></pre>
  
  <p>And I get such error:</p>
  
  <blockquote>
    <p>Error CS0411: The type arguments for method
    `TestTemplate(System.Action)' cannot be inferred from the usage.
    Try specifying the type arguments explicitly (CS0411)
    (Assembly-CSharp)</p>
  </blockquote>
  
  <p>Is there any way I could do this without manual specify the type argument?</p>
  
  <p><strong>What I want is just to <code>automatically</code> deduce the type.</strong></p>