忘れないようにメモ
Observable.FromEventはEventをStreamに変換してObservableを返す。
FromEventの一番単純なやつ(Action)
event Action OnClickEvent;//引数・戻り値のない単純なAction
Observable.FromEvent (
h => OnClickEvent += h,//Eventに登録するだけ
h => OnClickEvent -= h)//Eventに解除するだけ
.Subscribe (_ => print ("hoge"));//Eventが発火した時に OnNextされる
FromEventのAction引数あり
event Action<int> OnClickCountEvent;
Observable.FromEvent<int> (//ジェネリックで引数の型を指定
h => OnClickCountEvent += h,//Eventに登録するだけ
h => OnClickCountEvent -= h)//Eventに解除するだけ
.Subscribe (count => print ("ClickCount:" + count));//OnNextにintが来るのでSubscribeで受け取れる
FromEventのAction引数あり
event Action<int> OnClickCountEvent;
Observable.FromEvent<int> (//ジェネリックで引数の型を指定
h => OnClickCountEvent += h,//Eventに登録するだけ
h => OnClickCountEvent -= h)//Eventに解除するだけ
.Subscribe (count => print ("ClickCount:" + count));//OnNextにintが来るのでSubscribeで受け取れる
FromEventの独自Eventの場合
public delegate void OnComplate (string msg);
public event OnComplate onComplateEvent;
Observable.FromEvent<OnComplate,string> (//ジェネリック<1,2>となる。1にEventの型を、2に引数の型を入れる
//h => msg => h (msg),//丁寧に書くとこう
h => h.Invoke,//これでも大丈夫
h => onComplateEvent += h,//Eventに登録するだけ
h => onComplateEvent -= h)//Eventに解除するだけ
.Subscribe (x => print ("OnComplateCallback:" + x));//ジェネリックの2で指定した型が来るのでSubscribeで受け取る