title: Event handler and null-conditional operator
body: <p>For example, implement <code>INotifyPropertyChanged</code> interface:</p>
  
  <pre><code>public event PropertyChangedEventHandler PropertyChanged;
  
  private void OnPropertyChanged([CallerMemberName] string propertyName = null)
  {
      var handler = PropertyChanged;
      if (handler != null)
          handler.Invoke(this, new PropertyChangedEventArgs(propertyName));
  }
  </code></pre>
  
  <p>Two things:</p>
  
  <ol>
  <li>Copy event to local variable to prevent errors with multithreading (<a href="https://stackoverflow.com/questions/672638/use-of-null-check-in-event-handler">here</a> are some examples). Resharper gives notification, if you don't copy to local variable: </li>
  </ol>
  
  <p><a href="https://i.stack.imgur.com/sgqCq.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/sgqCq.png" alt="Possible NullReferenceException"></a>  </p>
  
  <ol start="2">
  <li>Check it for null, to prevent <code>NullReferenceException</code></li>
  </ol>
  
  <p>But now, we can use <code>?.</code> operator for null-checking. And if I use it, Resharper is idle:
  <a href="https://i.stack.imgur.com/KXO9Q.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/KXO9Q.png" alt="No errors"></a></p>
  
  <p>So, question is: should I copy event <code>ProperyChanged</code> to local variable, if I use null-conditional operator?</p>