C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でのデリゲートとイベントの違い


この投稿では、C#でのデリゲートとイベントの違いを理解します。

委任

  • 「delegate」キーワードを使用して宣言できます。

  • 関数ポインタです。

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

  • 独立したキーワードです。

  • イベントに依存しません。

  • これには、呼び出しのリストにメソッドを追加するのに役立つCombine()メソッドとRemove()メソッドが含まれています。

  • パラメータとしてメソッドに渡すことができます。

  • 「=」演算子を使用して、単一のメソッドを割り当てることができます。

  • 「+=」演算子を使用して、デリゲートに複数のメソッドを割り当てることができます。

イベント

  • 「event」キーワードを使用して宣言できます。

  • これは、デリゲートに依存する通知メカニズムとして定義できます。

  • 代理人によって異なります。

  • 代理人なしでは作成できません。

  • デリゲートインスタンスのラッパーとして理解できます。

  • これにより、代理人のユーザーが代理人とその呼び出しリストをリセットするのを防ぐことができます。

  • 呼び出しのリストからのみターゲットを追加または削除できます。

  • 「EventInfo」クラスはイベントを検査し、イベントハンドラーをバインドするのに役立ちます。

  • これらのハンドルには、AddEventHandler()やRemoveEventHandler()などのメソッドが含まれており、それぞれ呼び出しのリストにメソッドを追加および削除するのに役立ちます。

  • イベントを発生させることはできますが、パラメータとしてメソッドに渡すことはできません。

  • 「=」演算子はイベントでは使用できません。

  • 「+=」および「-=」演算子は、それぞれイベントハンドラーを追加または削除するイベントで使用できます。

  • これらのメソッドは、AddEventHandlerやRemoveEventHandlerなどのメソッドを内部的に呼び出します。


  1. Javaのコンストラクタとメソッドの違い

    コンストラクターはオブジェクトを初期化するために使用される特別なメソッドですが、メソッドは特定のステートメントを実行するために使用されます。コンストラクタとメソッドの重要な違いは次のとおりです。 Sr。いいえ。 キー コンストラクター メソッド 1 目的 コンストラクターは、オブジェクトを作成および初期化するために使用されます。 メソッドは、特定のステートメントを実行するために使用されます。 2 呼び出し コンストラクターはシステムによって暗黙的に呼び出されます。 メソッドはプログラムコード中に呼び出されます。 3

  2. 抽象クラスとインターフェースの違い

    抽象クラスは、デフォルトの動作を実装するインスタンスメソッドを持つことができます。インターフェイスは定数とインスタンスメソッドのみを宣言できますが、デフォルトの動作を実装することはできず、すべてのメソッドは暗黙的に抽象化されています。インターフェースにはすべてのパブリックメンバーがあり、実装はありません。