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