c#
の匿名のイベントハンドラーを事実上登録解除しますC#イベントでは、イベントハンドラー(メソッド)の追加による動的なイベント処理が可能になります。 Lambda式または委任表現を使用して定義された匿名の方法は、イベントサブスクリプション内でこれらのハンドラーを直接作成する簡潔な方法を提供します。ただし、これらの匿名のハンドラーを削除するには、特定のアプローチが必要です
匿名のメソッドイベントハンドラーを理解
匿名メソッドはインラインコードブロックです。名前のメソッドとは異なり、正式な宣言がありません。これは、容易に識別可能な名前を持っていないため、登録解除をより挑戦的にします。 匿名の方法でサブスクライブする:簡単な例サブスクライティングは簡単です:
<code class="language-csharp">MyEvent += delegate { Console.WriteLine("Event triggered!"); };</code>
登録解除の鍵は、イベントに添付する前に匿名メソッドへの参照を保存することです。
さて、登録解除が可能になります:
<code class="language-csharp">Action myEventHandler = delegate { Console.WriteLine("Event triggered!"); }; MyEvent += myEventHandler;</code>
匿名のデリゲートを変数(
)に保持することにより、イベントのハンドラーリストから削除を可能にし、ポインターを保持します。 これにより、匿名の方法を使用するときに適切なイベント管理が保証されます。 この手法により、匿名のメソッドを使用して柔軟でクリーンなイベント処理を可能にしながら、サブスクライブの名前のないハンドラーの合併症を回避できます。以上がC# でイベントから匿名メソッドをサブスクライブ解除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。