event
クラスを使用する側が処理を登録して、クラス内で呼び出される。
Objective-CでDelegateをBlocksで登録しておくようなもの。
処理はイベントプロパティに登録する。
//イベント これは単に外からは追加削除でき、内部からは呼び出しをする処理 // 処理はDelegateかラムダ式で定義 delegate void MyHandler(int index); class ClassDepTest { // イベントプロパティ定義 public event MyHandler MyHandle0; public void someDo() { //ある処理で登録されているハンドラを呼び出す。 MyHandle0(3); } }
使い方
var cTest2 = new ClassDepTest(); //登録 cTest2.MyHandle0 += (x) => { System.Diagnostics.Debug.WriteLine("kazu "+x); }; cTest2.someDo();