Пример #1
0
 /// <summary>
 /// IReactiveProperty{T} オブジェクトの内包オブジェクトのプロパティを対象とする
 /// ReactiveProperty{TProperty} オブジェクトを作成する。
 /// </summary>
 /// <typeparam name="T">
 /// 内包オブジェクト。 INotifyPropertyChanged を実装している必要がある。
 /// </typeparam>
 /// <typeparam name="TProperty">内包オブジェクト内プロパティの型。</typeparam>
 /// <param name="owner">IReactiveProperty{T} オブジェクト。</param>
 /// <param name="selector">内包オブジェクト内プロパティセレクタ。</param>
 /// <param name="canModifyNotifier">
 /// 値変更可能状態プッシュ通知。 null を指定すると常に可能となる。
 /// </param>
 /// <param name="notifyOnSameValue">
 /// 同値への変更時にも通知を行うならば true 。
 /// </param>
 /// <returns>ReactiveProperty{TProperty} オブジェクト。</returns>
 protected ReactiveProperty <TProperty> MakeInnerPropertyOf <T, TProperty>(
     IReactiveProperty <T> owner,
     Expression <Func <T, TProperty> > selector,
     IReadOnlyReactiveProperty <bool> canModifyNotifier = null,
     bool notifyOnSameValue = false)
     where T : INotifyPropertyChanged
 =>
 owner
 .MakeInnerReactiveProperty(selector, canModifyNotifier, notifyOnSameValue)
 .AddTo(this.CompositeDisposable);