ホームページ > バックエンド開発 > C++ > C# でイベントから匿名メソッドをサブスクライブ解除するにはどうすればよいですか?

C# でイベントから匿名メソッドをサブスクライブ解除するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-27 07:26:08
オリジナル
741 人が閲覧しました

How Can I Unsubscribe Anonymous Methods from Events in C#?

c#

の匿名のイベントハンドラーを事実上登録解除します

C#イベントでは、イベントハンドラー(メソッド)の追加による動的なイベント処理が可能になります。 Lambda式または委任表現を使用して定義された匿名の方法は、イベントサブスクリプション内でこれらのハンドラーを直接作成する簡潔な方法を提供します。ただし、これらの匿名のハンドラーを削除するには、特定のアプローチが必要です

匿名のメソッドイベントハンドラーを理解

匿名メソッドはインラインコードブロックです。名前のメソッドとは異なり、正式な宣言がありません。これは、容易に識別可能な名前を持っていないため、登録解除をより挑戦的にします。

匿名の方法でサブスクライブする:簡単な例

サブスクライティングは簡単です:

<code class="language-csharp">MyEvent += delegate { Console.WriteLine("Event triggered!"); };</code>
ログイン後にコピー
unsubscriptionの課題と解決策

登録解除の鍵は、イベントに添付する前に匿名メソッドへの参照を保存することです。

さて、登録解除が可能になります:

<code class="language-csharp">Action myEventHandler = delegate { Console.WriteLine("Event triggered!"); };
MyEvent += myEventHandler;</code>
ログイン後にコピー

匿名のデリゲートを変数(

)に保持することにより、イベントのハンドラーリストから削除を可能にし、ポインターを保持します。 これにより、匿名の方法を使用するときに適切なイベント管理が保証されます。 この手法により、匿名のメソッドを使用して柔軟でクリーンなイベント処理を可能にしながら、サブスクライブの名前のないハンドラーの合併症を回避できます。

以上がC# でイベントから匿名メソッドをサブスクライブ解除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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