title: C#: Can I cast an explicit delegate to an Action delegate?
body: <p>Given:</p>
  
  <pre><code>delegate void Explicit();
  </code></pre>
  
  <p>Can I:</p>
  
  <pre><code>public void Test(Explicit d)
  {
      Action a;
      a = d; // ????
  }
  </code></pre>
  
  <p>I have a scenario where I need to overload a constructor that has: </p>
  
  <pre><code>public MyClass(Expression&lt;Action&gt; a) {}
  </code></pre>
  
  <p>but the following overload is ambiguous:</p>
  
  <pre><code>public MyClass(Action a) {}
  </code></pre>
  
  <p>I figured using an explicit delegate would resolve the ambiguity but I need to cast that explicit delegate to an action in order to leverage the existing code.</p>