title: How to unregister and register an awaitable Event handler?
body: <p>In my code I need to unregister and register an event handler, This works perfect:</p>
  
  <pre><code>_favoritsImageView.Click -= _favoritsImageView_Click(this, new CustomeClickEventArgs(item));
  _favoritsImageView.Click += _favoritsImageView_Click(this, new CustomeClickEventArgs(item));
  void _favoritsImageView_Click(object sender, CustomeClickEventArgs e)
  {
         // handles the event
  }
  </code></pre>
  
  <p>But for an <strong>awaitable</strong> event handler i have to use this syntax:</p>
  
  <pre><code>_favoritsImageView.Click -= async (s, e) =&gt; 
  { await _favoritsImageView_ClickAsync(s, new CustomeClickEventArgs(item)); };
  
  _favoritsImageView.Click += async (s, e) =&gt; 
  { await _favoritsImageView_ClickAsync(s, new CustomeClickEventArgs(item)); };
  
  async Task _favoritsImageView_ClickAsync(object sender, CustomeClickEventArgs e)
  {
         // does async task
  }
  </code></pre>
  
  <p>This does not work. Because anonymous methods do not have the same reference. So the first line does not un-register the already registered handler. And eventually the second line adds an extra event handlers to the click.</p>
  
  <p><em>Which syntax do I need to use to add and remove an async event handler?</em></p>
  
  <p>Thanks for any suggestion.</p>