Rodhos Soft

備忘録を兼ねた技術的なメモです。Rofhos SoftではiOSアプリ開発を中心としてAndroid, Webサービス等の開発を承っております。まずはご相談下さい。

event

クラスを使用する側が処理を登録して、クラス内で呼び出される。
Objective-CDelegateを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();