投稿者 魔界の仮面弁士  (社会人) 投稿日時 2009/2/5 01:08:20
> 処理系の実装依存でたまたまなのでしょうか
特に決まりは無かったと思います。ゆえに回答としては、
「処理順は保証されないが、通常は登録順に処理される物と予想される」では無いかと。


> 困っているわけでもないのですが、どうにも気になってしまって
もし、AddHandeler の登録順に依存した実装にしたい場合には、カスタムイベントを
利用できるでしょう。たとえば、登録の逆順(つまり、C,B,A の順)に処理させたいのであれば:
Class Hoge
    'Public Event Event_ As EventHandler 

    Public Custom Event Event_ As EventHandler
        AddHandler(ByVal value As EventHandler)
            EventList.Insert(0, value)
        End AddHandler

        RemoveHandler(ByVal value As EventHandler)
            EventList.Remove(value)
        End RemoveHandler

        RaiseEvent()
            For Each method As EventHandler In EventList
                method()
            Next
        End RaiseEvent
    End Event
    Private EventList As New List(Of EventHandler)()

    Public Sub RaiseEvent_()
        RaiseEvent Event_()
    End Sub