簡単な例委員会

代表団の配列トラバーサルの方法を使用して。

使用したシステムと、

名前空間は単にインスタンス委任
{ 
    // デリゲートの定義を
    デリゲート ダブル DoubleOp(ダブルX);
     クラスプログラム
    { 
        静的 ボイドメイン(文字列[]引数)
        { 
            // DoubleOp OP1 = MathOperations.MultiplyByTwo;
             // このコードで、DoubleOpは委託配列を(、、基本的な山を一度定義委譲クラスを覚えているあなたは、そのインスタンスをインスタンス化できるインスタンス化
             // そうアレイ上の手数料のいくつかの例を置く-とちょうど一般的なクラスのようにそれは)実現可能です。配列の各要素は、異なるオペレーティングMathOperationsクラスを指すように初期化されます。
            // 次に、アレイを横切る、動作は、3つの異なる値のそれぞれに適用されます。-これは、デリゲートを使用してのいずれかの方法を示し
             // あなたは方法のサイクルで異なる種を呼び出すことができるように、アレイで使用する方法を組み合わせて。
            DoubleOp []操作= { 
                MathOperations.MultiplyByTwo、
                MathOperations.Square 

            }。
            以下のためにINT iが= 0 ; I <operations.Length; I ++ ){ 
                System.Console.WriteLine($ " オペレーション{I}を使用して" )。
                ProcessAndDisplayNumber(操作[i]が、2.0 )。
                ProcessAndDisplayNumber(操作[i]が、7.94 )。
                ProcessAndDisplayNumber(操作[i]は、1.414 )。
                System.Console.WriteLine(); 


            }
           // Console.WriteLineを( "Hello Worldの!"); 
        }
         // 委託名前が渡されますが、任意のパラメータなし。想定操作[i]の構文では、デリゲートは、次のとおりです。
         // 1.操作[i]はその「この委員会。」言い換えれば、この方法は、表現を委任します。
        // 2.操作[I](2.0) "は、実際にこの方法では、括弧内のパラメータを呼び出す"を表します。
        静的 無効 ProcessAndDisplayNumber(DoubleOpアクション、ダブル値){
             ダブル結果= アクション(値); 
            System.Console.WriteLine($ " 操作ですの値であり、{値}、{結果結果} " ); 

        } 
    } 

    // クラスを定義それは、二重、その後、これらのメソッドを呼び出すために、デリゲートを使用したタイプの2つの値を実行するための2つの静的メソッドがあります。
    クラスMathOperations {
         パブリック 静的 ダブル MultiplyByTwo(値)=>値* 2 パブリック 静的 ダブルスクエア(ダブル値)=>値* 値。
    } 
}

 

 

おすすめ

転載: www.cnblogs.com/singhwong/p/11955476.html