[VB.NET] 子クラスから親クラスに定義したイベントを発行する

2013年12月31日

 親クラスに定義したイベントを、直接子クラスから呼び出すことはできません。(子クラスから親クラスのイベントを直接 RaiseEvent することはできません。)
 そのようなことをしたい場合は、親クラスに Protected な中継ぎメソッドを用意しておいて、子クラスからはそれを呼び出します。

' 親クラス
Public Class Class1
    Public Event Event1(msg As String)

    Protected Sub OnEvent1(msg As String)
        RaiseEvent Event1(msg)
    End Sub
End Class

' 子クラス
Public Class Class2
    Inherits Class1

End Class

' 孫クラス
Public Class Class3
    Inherits Class2

    Sub test()
        OnEvent1("Hello!")
    End Sub
End Class

 呼び出し側は以下な感じ。
 呼び出し側は、Class1 は意識せず、Class3 のイベントとして受けることができます。

Module Module1
    Private WithEvents _class3 As New Class3

    Sub Main()
        _class3.test()
    End Sub

    Private Sub _class3_Event1(msg As String) Handles _class3.Event1
        Console.WriteLine(msg)
    End Sub
End Module





カテゴリー: Program, VB.NET

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org