2009年12月27日日曜日

Delegateにインスタンスメソッドと静的メソッドをそれぞれ登録して使用してみる。

using System;


delegate void Sample(int n);


class SampleClass
{
    // インスタンスメソッド
    public void Method1(int n)
    {
        Console.WriteLine(n);
    }
    // 静的メソッド
    public static void Method2(int n)
    {
        Console.WriteLine(++n);
    }
}


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


        // インスタンスメソッドを登録
        Sample del = sample.Method1;
        // 出力値:0
        del(0);


        // 静的メソッドを登録
        del = SampleClass.Method2;
        // 出力値:1
        del(0);
    }
}

0 コメント:

コメントを投稿