ホームページ  >  記事  >  バックエンド開発  >  C# におけるデリゲートとイベントの違い

C# におけるデリゲートとイベントの違い

WBOY
WBOY転載
2023-08-30 12:25:13876ブラウズ

C# 中的委托和事件之间的区别

この記事では、C# におけるデリゲートとイベントの違いを理解します。

Delegate

  • 「delegate」キーワードを使用して宣言できます。
  • #関数ポインタです。

  • 実行時に 1 つ以上のメソッドへの参照を保持します。

  • #これは独立したキーワードです。
  • イベントには依存しません。
  • 呼び出しリストにメソッドを追加するのに役立つ Combine() メソッドと Remove() メソッドが含まれています。真ん中。
  • パラメータとしてメソッドに渡すことができます。
  • "= 演算子を使用して、単一のメソッドを割り当てることができます。
  • 「=」演算子を使用して、複数のメソッドをデリゲートに割り当てることができます。
  • イベント

    「event」キーワードを使用して宣言できます。
  • これは、委任に依存する通知メカニズムとして定義できます。
  • コミッションによって異なります。
  • デリゲートなしでは作成できません。
  • これは、デリゲート インスタンスのラッパーとして理解できます。
  • これは、デリゲートのユーザーがデリゲートとその通話リストをリセットするのを防ぐのに役立ちます。
  • 呼び出しリストへのターゲットの追加または削除のみが可能です。

    「EventInfo」クラスはイベントをチェックし、イベント ハンドラーのバインドを支援します。
  • これらのハンドラーには、呼び出しリストへのメソッドの追加と削除にそれぞれ役立つ AddEventHandler() や RemoveEventHandler() などのメソッドが含まれています。
  • イベントは発生させることができますが、パラメーターとしてメソッドに渡すことはできません。
  • "= 演算子はイベントでは使用できません。
  • 「=」および「-=」演算子をイベントで使用すると、それぞれイベント ハンドラーを追加または削除できます。
  • これらのメソッドは、AddEventHandler や イベントハンドラを削除します。

以上がC# におけるデリゲートとイベントの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。