この記事では、C# におけるデリゲートとイベントの違いを理解します。
Delegate
- 「delegate」キーワードを使用して宣言できます。
- #関数ポインタです。
- 実行時に 1 つ以上のメソッドへの参照を保持します。
#これは独立したキーワードです。 イベントには依存しません。 呼び出しリストにメソッドを追加するのに役立つ Combine() メソッドと Remove() メソッドが含まれています。真ん中。 パラメータとしてメソッドに渡すことができます。 "= 演算子を使用して、単一のメソッドを割り当てることができます。 -
「=」演算子を使用して、複数のメソッドをデリゲートに割り当てることができます。 イベント
「event」キーワードを使用して宣言できます。 これは、委任に依存する通知メカニズムとして定義できます。
コミッションによって異なります。 デリゲートなしでは作成できません。 これは、デリゲート インスタンスのラッパーとして理解できます。 これは、デリゲートのユーザーがデリゲートとその通話リストをリセットするのを防ぐのに役立ちます。 呼び出しリストへのターゲットの追加または削除のみが可能です。 「EventInfo」クラスはイベントをチェックし、イベント ハンドラーのバインドを支援します。 -
これらのハンドラーには、呼び出しリストへのメソッドの追加と削除にそれぞれ役立つ AddEventHandler() や RemoveEventHandler() などのメソッドが含まれています。 イベントは発生させることができますが、パラメーターとしてメソッドに渡すことはできません。 "= 演算子はイベントでは使用できません。 -
「=」および「-=」演算子をイベントで使用すると、それぞれイベント ハンドラーを追加または削除できます。 これらのメソッドは、AddEventHandler や
イベントハンドラを削除します。
以上がC# におけるデリゲートとイベントの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。