Event


POINT イベント機能は、あるクラスで発生した出来事を あらかじめ登録された一群のメソッドに対して、 1回の呼出しによって、ですべて伝えることができる。 POINT Event はデレゲートという機能を使う。 Windowアプリケーションで頻繁に使う。
using System; namespace ConsoleApplication53 { // Delegate 型の宣言. ( class の外でするらしい. ) public delegate void SampleEventHandler(object sender, EventArgs e); class Class1 { // Event の定義だよ-. ^ ^/ // これは、デレゲート(delegate)と呼ばれる機能を用いて // イベントで用いるメソッドの引数を定義 これは一種のデータ型の定義として機能する点に注意すること イベント本体には2つの機能がある ハンドラの追加/削除と イベントの発生 // Event本体の定義 public event SampleEventHandler sampleEvent; // ハンドラーとして機能するにはメソッドの引数と戻り値を同じにする。 public void handler( object o, EventArgs e ) { Console.WriteLine("handler called"); } static void Main(string[] args) { Class1 o = new Class1(); // Handler( Listener ) の追加. ( -= で削除できる ) o.sampleEvent += new SampleEventHandler( o.handler ); // Event を発生させる( 呼び出す ) // イベント名をメソッド名のように使う。 target.sampleEvent( o, EventArgs.Empty ); } } }