title: How to take an optional parameter for Action<T1,T2>
body: <p>I have a class that currently looks like this:</p>
  
  <pre><code>public Action&lt;string&gt; Callback { get; set; }
  
  public void function(string, Action&lt;string&gt; callback =null)
  {
     if (callback != null) this.Callback = callback;
     //do something
  }
  </code></pre>
  
  <p>Now what I want is to take an optional parameter like:</p>
  
  <pre><code>public Action&lt;optional, string&gt; Callback { get; set; }
  </code></pre>
  
  <p>I tried:</p>
  
  <pre><code>public Action&lt;int optional = 0, string&gt; Callback { get; set; }
  </code></pre>
  
  <p>it does not work.</p>
  
  <p>Is there any way to allow <code>Action&lt;...&gt;</code> take one optional parameter?</p>