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

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

Mary-Kate Olsen
リリース: 2025-01-23 08:27:11
オリジナル
778 人が閲覧しました

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

追加のパラメーターをイベント ハンドラーに渡します

イベント駆動型プログラミングでは、イベント ハンドラーは通常、パラメーターとして送信側オブジェクトのみを受け入れるメソッドを使用して割り当てられます。ただし、追加のデータをイベント ハンドラーに渡す必要がある場合があります。

例:

次のコードを考えてみましょう:

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

public void evHandler(Object sender)
{
    // 需要在此处使用 someData!!!
}</code>
ログイン後にコピー

この例では、evHandler はイベント ハンドラーであり、setup メソッドで使用できる someData 文字列にアクセスする必要があります。

解決策:

someData を evHandler に渡すには、次のようなラムダ式を使用してイベント ハンドラーを定義できます。

<code class="language-csharp">private void setup(string someData)
{
     Object.assignHandler((sender) => evHandler(sender, someData));
}
public void evHandler(Object sender, string someData)
{
    // 需要在此处使用 someData!!!
}</code>
ログイン後にコピー

このコードでは、ラムダ式 (sender) => evHandler(sender, someData) が送信側オブジェクトをパラメーターとして受け取り、それを someData とともに evHandler メソッドに渡す新しいイベント ハンドラーを作成します。これにより、イベント ハンドラーで someData が確実に使用できるようになります。

以上がC# で追加のパラメーターをイベント ハンドラーに渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート