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
{
    // delegate型変数をパラメータとしたメソッドを作成
    public static void methodDelegate(int i,
        SampleDelegate delegateVar)
    {
        // delegateを使用しメソッドを呼び出す
        delegateVar(i);
    }

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

        // メソッドをパラメータとする
        // 出力値:10
        methodDelegate(10, s.sampleMethod);
        // 出力値:20
        methodDelegate(10, SampleClass.sampleMethod1);
    }
}

0 コメント:

コメントを投稿