C#デリゲートの最も簡単なエントリと理解

 
  デリゲートは非常に重要な概念の.NET言語で、初心者の方には、本当にそれは問題ではない理解していない、と研究は微妙な違いを理解するために委託された時間後に、.NETは非同期、何の手数料は、イベントの背後には、より高度なないだろうがあると言うことができます成形性は、マルチスレッドなどであってもよいです。それは真剣にこの重要な概念の.NET言語を取らなければなりません。
  デリゲートのインスタンスメソッドは、ポイント1またはメソッドのセットに、呼び出しのデリゲートを呼び出し()メソッドは、それがその方法を指すもたらすとポインタが再び実行されている
  代表者がそれに拘束され、代表団の理解とデリゲートインスタンス初心者に注意を払うにデリゲートインスタンス変数は、特定の制約と同等の委託され、それはそのような例として、我々に対応するデリゲートのインスタンスをインスタンス化し、値やパラメータを返し、我々は整体変数に対応する変数を宣言する方法に向けときに、新しいClass1の()を持つクラス;この方法で作業。
  脇ジェネリックの概念を置くことができるか、私たちは丘に食べることになりますと、ジェネリックを持っていませんさらに大きくなり、そしてジェネリック医薬品は、すでに以前に使用される概念の委託を受け、後半.NETをのみ登場しています非常に一般的。 
1      パブリック クラス計算クラス
 2      {
 3          //は、特定のデリゲート型mydelegateを宣言し、それが戻り値のこの種のその所定の変数にバインドされた小数型で
 4          // また、所定それに結合しました戻り値は、このタイプの方法は、型小数2の変数である
5。         パブリック デリゲート 小数 MyDelegate( M、小数N-);
 6。         // 次の二つの方法は、上記仕様のパラメータと戻り値を満たすあり:
7。         スタティック 小数 Operation1(小数点 X、小数Y)
 。8          { リターン X + Y;}
 9。         静的 小数点 operation2(小数の X、小数Y)
 10          { リターン X * Y;}
 11。         公的MyDelegateアルゴリズム、
 12は         空隙XX()
 13は、         {
 14              // 次に、デリゲートの一例であり、この方法はまた、特定のデリゲート型(MyDelegate)に結合しています変数(アルゴリズム)
15              アルゴリズム= 新しい新しいMyDelegate(Operation1);
 16              // タイプ(MyDelegate)可変委任する複数の方法を結合する+ =演算子使用
17              アルゴリズム= + 新しい新しいMyDelegate(operation2)を、
 18である         }
 。19          公共 小数点 ExecuteOperation(小数点以下 A、小数B)
 20は         、{
 21は、             リターンアルゴリズム.Invoke(A、B);
 22である         }
 23である     }
 24      // 2実施デリゲートオブジェクト指向の多型:以下の計算においては、クライアント・クラスは、我々は唯一のクラスの計算機を通過する必要があります[アルゴリズム]デリゲートインスタンスの特定のアルゴリズム(減算)、
 25      // 変更新しいアルゴリズムの能力なしでクラスを持つことができる計算機
26は、     パブリック クラスのクライアントコンピューティング
 27      {
 28          電卓クラス= jsq1 新しい新しい計算をクラス();
 29          // 計算及びアルゴリズムの新たなクラス:引き算
30          公共 小数点減算(小数点 X、小数Y)
 31は、          { 戻り X -Y;}
 32          空隙指標算出減算()
 33          {
 34の             // メソッドのデリゲートインスタンスに結合する
35              jsq1 + =アルゴリズム減算;
 36              (jsq1アルゴリズム.Invoke(Console.WriteLineを5。 6。 ))。
 37          }
 38である 
39  
40          // 我々はまた、これを行うことができ、アルゴリズムのような、この方法のデリゲートインスタンスのメンバーに結合し、外部の方法は、パッケージ呼び出し
41が         ボイド)(分割を行うための指示計算器
 42          {
 43              // 個々のクラスインスタンス委任する部材を結合させる方法
44は              jsq1アルゴリズム= +。新しい新規基づく分割アルゴリズム();.分割
 45              。Console.WriteLineを(jsq1アルゴリズム.Invoke(205 ));
 46          }
 47      }
 48      // 別のクラスに包装分割部材の方法:分割
49      パブリック クラスベースの分割アルゴリズム
 50      {
 51は         公衆 小数点除算(小数点 X、小数Y)
 52である          { リターン X / Y;}
 53です      }

 間違った場所を理解している場合、正しい私Paizhuanへようこそ。

おすすめ

転載: www.cnblogs.com/hrx521/p/12128719.html