title: EventHandler and Delegate misunderstanding
body: <p>Please take a look at the code below, which works as I would expect:</p>
  
  <pre><code>Partial Class _Default
      Inherits System.Web.UI.Page
  
  
      Delegate Sub TestEventHandler(ByVal o As Object, ByVal e As EventArgs)
      Dim alhandler As TestEventHandler = AddressOf TestEventMethod
      Public Event Test1 As TestEventHandler
      Public Event Test2 As TestEventHandler
  
      Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
          AddHandler Me.Test1, alhandler
          AddHandler Me.Test2, alhandler
          RaiseEvent Test1(Me, e)
          RaiseEvent Test2(Me, e)
          RemoveHandler Me.Test1, alhandler
          RaiseEvent Test1(Me, e)
      End Sub
  
      Public Sub TestEventMethod(ByVal o As Object, ByVal e As EventArgs)
          MsgBox("Test")
      End Sub
  
  
  End Class
  </code></pre>
  
  <p>I am confused with the two statements below:</p>
  
  <pre><code>Dim alhandler As TestEventHandler = AddressOf TestEventMethod '1
  Public Event Test1 As TestEventHandler '2
  </code></pre>
  
  <blockquote>
    <p>1) This is saying that the reference of alHandler is a delegate that
    points to the address of a function. 2) This is saying that Test1 is
    an event of type Delegate.  How can an event and a handler be a
    delegate?</p>
  </blockquote>