ホームページ >バックエンド開発 >C++ >C# でイベント ハンドラーに追加のパラメーターを渡すにはどうすればよいですか?

C# でイベント ハンドラーに追加のパラメーターを渡すにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-23 08:16:09373ブラウズ

How Can I Pass Extra Parameters to Event Handlers in C#?

イベント ハンドラーの追加パラメータにアクセスする

追加のデータをイベント ハンドラーに渡す必要があるとします。たとえば、イベント ハンドラーを割り当てるセットアップ メソッドがあります:

<code class="language-csharp">private void setup(string someData)
{
     Object.assignHandler(evHandler);
}</code>

そして、イベント ハンドラー evHandlersomeData パラメーターにアクセスする必要があります:

<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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。