2009年12月7日月曜日

delegateにインスタンスメソッドと静的メソッドを登録する。
using System;

// delegateを定義
delegate void SampleDelegate(int a);

class SampleClass
{
    // インスタンスメソッドを定義
    public void sampleMethod(int n)
    {
        Console.WriteLine(n);
    }

    // 靜的メソッドを定義
    public static void sampleMethod1(int n)
    {
        Console.WriteLine(n + 10);
    }
}

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

        // インスタンスメソッドを指定
        SampleDelegate delegateVar = s.sampleMethod;

        // 出力値:10
        delegateVar(10);

        // 靜的メソッドを指定
        delegateVar = SampleClass.sampleMethod1;

        // 出力値:20
        delegateVar(10);
    }
}

0 コメント:

コメントを投稿