title: How can I get an actual EventHandler delegate instance from an event in VB.NET?
body: <p>In C#, I could do something like this:</p>
  
  <pre><code>EventHandler handler = this.SomeEvent;
  </code></pre>
  
  <p>...which would allow me to, for example, do:</p>
  
  <pre><code>Delegate[] attachedHandlers = handler.GetInvocationList();
  </code></pre>
  
  <p>In VB.NET, I can't seem to figure out how to do a similar thing.</p>
  
  <p>This doesn't work:</p>
  
  <pre><code>Dim handler As EventHandler = Me.SomeEvent
  </code></pre>
  
  <p>...due to the following error:</p>
  
  <blockquote>
    <p>Public Event SomeEvent(sender As
    Object, e As EventArgs)' is an event,
    and cannot be called directly. Use a
    'RaiseEvent' statement to raise an
    event.</p>
  </blockquote>
  
  <p>But this doesn't work either:</p>
  
  <pre><code>Dim handler As EventHandler = AddressOf Me.SomeEvent
  </code></pre>
  
  <p>...because:</p>
  
  <blockquote>
    <p>'AddressOf' operand must be the name of a method (without parentheses).</p>
  </blockquote>
  
  <p>So how can I actually get an <code>EventHandler</code> from an event in VB.NET? The only idea that's immediately coming to mind is to use reflection, but that seems pretty ridiculous.</p>