91. public event Action SomeEvent;
があった場合、
Observable.FromEvent(
h => SomeEvent += h, h => SomeEvent -= h
)
を行えばストリームに変換できます。
イベントをストリームに変換する
92. public delegate void SomeEvent();
public SomeEvent someEvent;
があった場合、
Observable.FromEvent<SomeEvent>(
h => ()=>h(), h => SomeEvent += h, h => SomeEvent -= h
) // デリゲートに変換
を行えばストリームに変換できます。
デリゲートをストリームに変換する
93. var s = new Subject<T>();
を定義して
s.OnNext(...);
で配信することができます。
s.OnCompleted();
でストリームの終了ができます。
Subjectでメッセージを配信
98. var rp = new ReactiveProperty<T>(初期値);
があれば
IObservable<T> rpAsObservable { get { return rp; } }
で配信することができます。
配信タイミングは rp.Value = 値; などで値が書き換わった時。
ReactiveProperty<T>
99. var rp = new ReactiveProperty<T>(初期値);
また、ストリームとして以外でも
rp.Value でその時点での値が取得できます。
ReactiveProperty<T>
100. private ReactiveProperty<T> ValueProperty;
public IObservable<T> ValueAsObservable {
get { return ValueProperty; }
}
public T Value {
get { return ValueProperty.Value; }
private set { ValueProperty.Value = value; }
}
は鉄板だと思います!ぜひスニペットに登録を!
ReactiveProperty<T>