イベント ハンドラーの追加パラメータにアクセスする
追加のデータをイベント ハンドラーに渡す必要があるとします。たとえば、イベント ハンドラーを割り当てるセットアップ メソッドがあります:
private void setup(string someData) { Object.assignHandler(evHandler); }
そして、イベント ハンドラー evHandler
は someData
パラメーターにアクセスする必要があります:
public void evHandler(Object sender) { // 需要在此处使用 someData!!! }
解決策
追加のパラメーターをイベント ハンドラーに渡すには、ラムダ式をデリゲートとして使用できます。 evHandler
メソッドを直接割り当てる代わりに、sender オブジェクトを最初の引数として受け取り、someData
を 2 番目の引数として受け取るラムダ式を割り当てます。
private void setup(string someData) { Object.assignHandler((sender) => evHandler(sender, someData)); }
メソッドは送信者と evHandler
パラメータの両方を受け入れることができます。 someData
以上がC# でイベント ハンドラーに追加のパラメーターを渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。