第59章 インターフェース その4


インターフェースのメンバにイベントを加えることができます。



イベントについて忘れてしまった人は第47章を参照してください。

注意点としては、イベントハンドラをpublicで宣言しておく必要があります。あとは、メソッドの時と同じです。

// interface04.cs

using System;

public delegate void MyEventHandler();

public interface IEvent
{
    event MyEventHandler MyEvent;

    void OnMyEvent();
}

class MyClass : IEvent
{
    public event MyEventHandler MyEvent;

    public void OnMyEvent()
    {
        if (MyEvent != null)
            MyEvent();
    }
}

class interface04
{
    public static void Show()
    {
        Console.WriteLine("イベントが発生しました");
    }

    public static void Main()
    {
        MyClass mc = new MyClass();

        // イベントハンドラをイベントに追加
        mc.MyEvent += new MyEventHandler(Show);

        // イベントを発生させる
        mc.OnMyEvent();
    }
}
IEventインターフェースのメンバには、イベントとイベント送信メソッドが含まれています。

MyClassクラスは、IEventインターフェースを実装しています。

Mainメソッドで、イベントハンドラをイベントに追加して、OnMyEventメソッドでイベントを発生させています。

実行結果は次のようになります。




[C# Index] [総合Index] [Previous Chapter] [Next Chapter]

Update 04/Oct/2006 By Y.Kumei
当ホーム・ページの一部または全部を無断で複写、複製、 転載あるいはコンピュータ等のファイルに保存することを禁じます。