イベント
イベント (C# によるプログラミング入門)
http://ufcpp.net/study/csharp/sp_event.html
概要、イベントドリブン型プログラミングの例、イベントハンドラ、eventキーワード
「イベント」(キーボードからの入力など)が起きた時に「イベントハンドラ」を動作させる。
こういうのを「イベントドリブン」のプログラミングという。
イベントは、プロパティのデリゲート版でもあるんだとか。
イベントドリブン型のプログラムは大きく分けて 「イベント発生待受け部」(イベントループ)と「イベント処理部」(イベントハンドラ)の
2つの部分からなります
イベントループでは、デリゲートを用いてイベント処理を他のメソッドに渡す。
さらに自由に!イベントハンドラの追加削除ができるようにしたい。
そこでeventキーワード。
event デリゲート型 イベントハンドラ名;
または
event デリゲート型 イベントハンドラ名 { add { // addアクセサ // ここにイベントハンドラ追加時の処理を書く。 } remove { // removeアクセサ // ここにイベントハンドラ削除時の処理を書く。 } // add/remove アクセッサ共に、 // 追加/削除したいイベントハンドラは value という名前の変数に格納されている。 }
このようにして宣言された変数のこともイベントという。
こうすると、外部からは+=, -=でしかアクセスできないので、隠蔽が可能となる。
add,removeで記述された処理のことをイベントプロパティという。