2010年2月20日土曜日

delegate keywordを使用してDelegateを宣言し、Methodを定義してからそのMethodをDelegate型の変数に次の3つの方法

  1. Delegate型の変数を宣言、Delegate型の変数をインスタンス化してMethodを登録
  2. 1で宣言とMethodの登録を同時に行う。
  3. 2でさらにnew keywordを使用したインスタンス化を省略して記述する。

で登録し、Delegateを介してMethodを実行してみる。

using System;

// Delegateを定義
delegate void Delegate();

class Mainclass
{
    // Methodを定義
    static void printOut()
    {
        Console.WriteLine("Delegate");
    }

    static void Main()
    {
        // Deleaget型の変数を宣言
        Delegate sample1;

        // インスタンス化してMethod本体を登録
        sample1 = new Delegate(printOut);

        /* Delegateを介してMethodを呼び出す
         * 出力値:Delegate */
        sample1();

        /* Delegate型の変数を宣言とMethodの
         * 登録を同時に行う */
        Delegate sample2 = new Delegate(printOut);

        // 出力値:Delegate
        sample2();

        /* 上記からさらにnew keywordによる
         * インスタンス化を省略 */
        Delegate sample3 = printOut;

        // 出力値:Delegate
        sample3();
    }
}

0 コメント:

コメントを投稿