EventHandlerの、のEventHandler <TEventArg> .NET Frameworkが2人の代表団内で定義されています。
デフォルトSystem.EventArgsはパラメータが含まれていませんが、我々は我々が継承によって、サブクラスで必要なデータを追加することができます。
パブリック クラスMyEventArgs:EventArgsの { 公共の 文字列のメッセージ { 取得; セット; } 公共 MyEventArgs(文字列の混乱) { メッセージ = 混乱。 } }
上記の例では:MyEventArgs System.EventArgs継承するクラスは、また、データを受信するための文字列型のメッセージ属性を定義します。
今、具体的な例でMyEventArgsクラスを使用します
パブリック クラスDoTest { パブリックDoTest(){} // カスタムイベント パブリック イベントのEventHandler <MyEventArgs> DoWork。 公共 ボイド(開始文字列のval) { もし(DoWork!= nullの) { MyEventArgs電子 = 新しいMyEventArgs(val)で、 DoWork(本、e)は、 } } }
パブリック クラスDoTest { パブリックDoTest(){} // カスタムイベント パブリック イベントのEventHandler <MyEventArgs> DoWork。 公共 ボイド(開始文字列のval) { もし(DoWork!= nullの) { MyEventArgs電子 = 新しいMyEventArgs(val)で、 DoWork(本、e)は、 } } }
dos.DoWorkは無名関数を登録し、関数が出力パラメータ値のメッセージを表示することです。
開始コール(「1」)機能、表示装置1は、この場合、パラメータ渡さe.messageによって得ることができます。