ホーム -> オブジェクト指向のスケルトン
prev UML クラス図解説サイト with C# 前へ UML クラス図解説サイト with C# トップへ UML クラス図解説サイト with C# 次へ next

クラスとインスタンス - イベント -

// イベント
class Program
{
    static void Main(string[] args)
    {
        // イベント
        MyEvent myEvent = new MyEvent();
        myEvent.OverFlow += new EventHandler(EventProc);
        for (int i = 0; i < 5; i++)
        {
            // 5回繰り返して加算処理を行い100を超えると
            // OverFlowイベントが発生する。
            string s = Console.ReadLine();
            int a = Int32.Parse(s);
            myEvent.Add(a);
            Console.WriteLine("data = " + myEvent.data);
        }
    }

    // イベント処理を行うメソッド
    public static void EventProc(string s)
    {
        Console.WriteLine("*** イベントが通知されました ***");
        Console.WriteLine(s);
    }
}
//デリゲートの宣言
public delegate void EventHandler(string s);
// イベントを発生する側のクラス
public class MyEvent
{
    // デリゲートをデータ型としたフィールド
    public event EventHandler OverFlow;

    public int data = 0;

    public void Add(int a)
    {
        if (this.data + a > 100)
        {
            OverFlow("データを加算できません");
        }
        else
        {
            this.data += a;
        }
    }
}

prev UML クラス図解説サイト with C# 前へ UML クラス図解説サイト with C# トップへ UML クラス図解説サイト with C# 次へ next
inserted by FC2 system