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

---コメントセクションから古いドライバ「参加者は同じシグネチャ(メソッド)を有する型の関数であり、イベントが適用される手数料の一つです」

C#のオブジェクト内の関数へのデリゲートは、周り渡さ「機能パッケージ」として来たと実感しました。C#関数に二級市民なので、あなたはクラス階層でそれを定義することはできません、またそれはオブジェクトとして渡すことができます。あなたは、関数やメソッドを宣言するときに、すべての署名と一貫したを置くことができたの内側にそのようなコンテナを、宣言したときにそのためのプラットフォームは、「コンテナ」のブルーム機能を提供します。
すべての文と、デリゲートを作成するには反復作業を行っているので、Microsoftは、一般的なデリゲートを提供OOPの気質を満たしていません。
参照デリゲートなしのアクションは、戻り値はありません
アクション<>ジェネリックデリゲートノーリターン値
Func <>ジェネリックデリゲートの戻り値を持っています
述語<>戻りbool値、パラメータ
public delegate typeA MyDelegate(typeB b,typeC c); MyDelegate thisDelegate = (i,j) => new typeA(); 
それはと同等です。
Func<typeB,TypeC,TypeA> thisDelegate = (i,j) => new typeA(); //前两个是参数,最后一个是返回值类型


C#の場合に1つのクラスメンバは、型ではなく、「フィールド」、「プロパティ」の側で、「方法」側を有します。デリゲート型であると理解され、イベントのデリゲートは、クラス内のフィールドです。イベントは、アプリケーションを委任する一つの方法です。
署名のイベントは、特別なクラスやオブジェクトの事は他のクラスやオブジェクトに通知するために起こった委託しました。
+ =、イベント - =演算子は、クラス宣言イベント内でのみ使用することができるイベントを呼び出し、クラスの外で使用することができます。
 

おすすめ

転載: www.cnblogs.com/1016391912pm/p/11620960.html