2010年2月20日土曜日

Delegateを宣言して静的Methodを定義し、DelegateにはインスタンスMethodだけではなく静的Methodも登録できることを確認してみる。

using System;

// Delegateを宣言
delegate void Delegate();

class SampleClass
{
    public void printOut1()
    {
        Console.WriteLine("Delegate1");
    }

    // 静的Method
    public static void printOut2()
    {
        Console.WriteLine("Delegate2");
    }
}

class MainClass
{
    static void Main()
    {
        // SampleClassをインスタンス化
        SampleClass sample = new SampleClass();

        // Methodを登録
        Delegate sample1 = sample.printOut1;

        // 出力値:Delegate1
        sample1();

        // 静的Methodを登録
        sample1 = SampleClass.printOut2;
        
        // 出力値:Delegate2
        sample1();
    }
}

0 コメント:

コメントを投稿