\r\n\r\n
C言語とは、マイクロソフト社が開発したプログラミング言語である。構造化プログラミングとオブジェクト指向プログラミングの両方をサポートしています。C言語では、イベントドリブンプログラミングのために、Delegateとeventが使用されます。デリゲートは、メソッドへの型安全なポインタです。GUI(グラフィカル・ユーザー・インターフェイス)を持つアプリケーションでは、ボタンなどがあります。ボタンがクリックされると、なんらかのアクションが発生します。このようなアクションをイベントと呼びます。例えば、ウェブページを更新すると、ページロード・イベントが発生します。この記事では、C#におけるデリゲートとイベントの違いについて説明します。Cにおけるデリゲートとイベントの重要な違いは、デリゲートがメソッドへの参照であるのに対し、イベントはデリゲートを使用するイベントハンドラに関連付けられていることです。イベントが発生すると、デリゲートにシグナルを送ります。そして、デリゲートは対応する関数を実行する。したがって、すべてのイベントはデリゲートに依存する。
1. 概要と主な違い 2. C言語のdelegateとは #3. C言語のeventとは #4. C言語のdelegateとeventの類似点 #5. 横並び比較 - C#のdelegateとeventを表形式で 6. まとめ
C言語のデレゲーションは、JavaScriptなど他のプログラミング言語におけるコールバック関数に似ている。コールバック関数は、実行時に割り当てられる。必要に応じて機能を切り替えて使用することができます。C#のデリゲートは,呼び出し側と呼び出される側の関数を切り離すことができます.そのため、再カップリングを減らすことができます。
.NETフレームワークでは、型を2つのカテゴリに分類しています。それらは、値型と参照型である。構造体は、値型の一例である。クラスは参照型の例である。デリゲートは参照型でもある。デリゲートは、メソッドへの参照を保持するために使用されます。型安全なポインタである。デレゲートはシステムから派生したものです。デレゲートクラス。Delegate宣言は、メソッド宣言と似ていますが、キーワード「Delegate」を含んでいます。delegateの構文は以下の通りです。 delegate< return type> < delegate name> < parameter list>.return 型は、メソッド宣言を介して値を返す。デリゲートによって呼び出されます。パラメータリストは、メソッドが必要とするパラメータを定義します。参加者とともに、以下のプログラムを参照する。
図01:C#の表現方法
上のプログラムによると、calSquare と calCube メソッドは宣言されたデリゲートと同様である。メインプログラムでは、変数calがcalSquare関数に代入されている。さて、calはcalSquareメソッドを指します。値が渡されると、二乗の値が返され、画面に表示される。同様に、calはcalCubeメソッドに割り当てられています。ここでcalとは、calculateメソッドのことです。画面に値が渡されると、多次元データセットに返される。同じデリゲートが、異なるメソッドを参照するために使用されます。そのため、プログラムの柔軟性を高めることができます。
アプリケーションでは、キーストローク、キープレス、マウスの動きがあり得ます。これらが発生した場合、イベントが発生します。サブミットフォームでサブミットボタンが押されると、バックグランドでbutton-taku click() イベントが発生します。イベントはアソシエーション関数の実行を呼び出します。イベントが発生すると、アプリケーションはそれに応答する。イベントハンドラには2つの部分があります。パブリッシャーにはイベントとデリゲートの定義が含まれています。サブスクリプションサーバーは、イベントを受け入れ、イベントハンドラを提供します。
イベント宣言は event である。イベント宣言の型は delegate 型でなければならず、delegate はイベント自身と同様にアクセス可能でなければならない。イベント名は有効なC言語名である必要があります。
図02:イベント付きC言語プログラム
上記の手順でデリゲートとイベントを作成します。Calculateクラスには、2つの数値を足し算するメソッドがあります。このイベントは奇数が見つかった場合に発生します。eventOddNumber()である。mainメソッドでは、eventOddNumberイベントハンドラがデリゲートを呼び出しています。最後に、デリゲートがメソッドを実行します。
C#のデリゲートとイベント | |
デリゲートは、メソッドへの参照を保持する参照型変数です。 | イベントは、オブジェクトやクラスが他のオブジェクトにイベントが発生したことを通知するために使用するデリゲートタイプのクラスメンバです。 |
キーワード | |
delegateを宣言するには、キーワード "delegate "を使用します。 | イベントを宣言するには、"event "キーワードを使用します。 |
加盟国 | |
また、その表現に依拠するものではありません。 | イベントはデリゲートに依存する。 |
デリゲートとイベントは、C言語のイベント駆動型プログラミングに関連する2つの概念です。この記事では、C#のデリゲートとイベントの違いについて説明します。この記事では、C#におけるデリゲートとイベントの違いについて説明します。Cにおけるデリゲートとイベントの違いは、デリゲートはメソッドへの参照であり、イベントはデリゲートを使用するイベントハンドラに関連付けられていることです。イベントはデリゲートに依存する。イベントが発生すると、デリゲートにシグナルを送ります。そして、デリゲートは対応する関数を実行する