2009年12月8日火曜日

eventキーワードを使用し、1から10まで表示する際、2の倍数には偶数と表示するイベントを発生させる。
using System;

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

// イベント発生
class SampleClass
{
    // 匿名メソッドをでeventgusuEventを初期化
    public event SampleEventHangler gusuEvent = delegate { };

    // 1から10を偶数がわかるように表示
    public void OnGusuEvent()
    {
        for (int i = 1; i < 11; i++)
        {
            Console.Write(i);

            // 偶数の場合はイベントを発生させる
            if (i % 2 == 0)
            {
                gusuEvent();
            }
            Console.WriteLine("");
        }
    }
}

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

        // イベントハンドラを追加
        // 2で割り切れる場合にはその数値の右横に偶数と表示
        s.gusuEvent += delegate { Console.Write("偶数"); };

        // イベントを発生させる処理を実行
        s.OnGusuEvent();
    }
}

0 コメント:

コメントを投稿