Conditional Access expression cannot be assigned - C# null-propagation += events : <p>One of my favorite C# features added is the "<a href="https://msdn.microsoft.com/en-us/magazine/dn802602.aspx" rel="noreferrer">null-propagation</a>" in CS6.</p>

<p>This has cleaned up so much code for many of us.</p>

<p>I came across a situation where this doesn't appear to be possible. I am not sure why as I though the null-propagation was just some compiler magic that does some null checks for us, allowing us to maintain cleaner code.</p>

<p>In the case of hooking into events..</p>

<pre><code> public override void OnApplyTemplate()
    {
        _eventStatus = base.GetTemplateChild(PART_EventStatus) as ContentControl;

        // This not permitted and will not compile
        _eventStatus?.IsMouseDirectlyOverChanged += EventStatusOnIsMouseDirectlyOverChanged;

        // but this will work
        if(_eventStatus != null) _eventStatus.IsMouseDirectlyOverChanged += EventStatusOnIsMouseDirectlyOverChanged;

        base.OnApplyTemplate();
    }

    private void EventStatusOnIsMouseDirectlyOverChanged(object sender, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
    {
        throw new NotImplementedException();
    }
</code></pre>

<p>Compile output shows:</p>

<pre><code> error CS0079: The event 'UIElement.IsMouseDirectlyOverChanged' can only appear on the left hand side of += or -=
</code></pre>

<p><a href="https://i.stack.imgur.com/iPdzZ.png" rel="noreferrer"><img src="https://i.stack.imgur.com/iPdzZ.png" alt="Resharper Complaint"></a></p>

<p>So, my question is - what and I misunderstanding about null-propagation? Why is this not a permitted syntax? </p>
