Operator '?' cannot be applied to operand of type 'method group'
<p>This is a question about C#'s newly introduced null-checking operator.</p>

<p>Assuming I have an interface like:</p>

<pre><code>interface ILogger
{
    void Log(string message);
}
</code></pre>

<p>and a function that expects a logging action:</p>

<pre><code>void DoWork(Action&lt;string&gt; logAction)
{
    // Do work and use @logAction
}
</code></pre>

<p>Why do I get the following compiler error if I try to write:</p>

<pre><code>void Main(string[] args)
{
    ILogger logger = GetLogger(); // Assume GetLogger() may return null

    //
    // Compiler error: 
    // Operator '?' cannot be applied to operand of type 'method group'
    //
    DoWork(logger?.Log);   
}
</code></pre>