Пример #1
0
        public static IRx <T> Computed <T, T1>(IRx <T1> source1, Func <T1, T> compute, IEqualityComparer <T> equalityComparer = null)
        {
            IRx <T> rx = new ComputedRx <T>(() => compute(source1.Value), equalityComparer);

            source1.Watch(rx.Update);

            return(rx);
        }
Пример #2
0
        public static IRx <T> Computed <T, T1, T2, T3, T4>(IRx <T1> source1, IRx <T2> source2, IRx <T3> source3, IRx <T4> source4, Func <T1, T2, T3, T4, T> compute, IEqualityComparer <T> equalityComparer = null)
        {
            IRx <T> rx = new ComputedRx <T>(() => compute(source1.Value, source2.Value, source3.Value, source4.Value), equalityComparer);

            source1.Watch(rx.Update);
            source2.Watch(rx.Update);
            source3.Watch(rx.Update);
            source4.Watch(rx.Update);

            return(rx);
        }
Пример #3
0
        public static IRx <T> Computed <T, T1, T2, T3, T4, T5, T6, T7, T8>(IRx <T1> source1, IRx <T2> source2, IRx <T3> source3, IRx <T4> source4, IRx <T5> source5, IRx <T6> source6, IRx <T7> source7, IRx <T8> source8, Func <T1, T2, T3, T4, T5, T6, T7, T8, T> compute, IEqualityComparer <T> equalityComparer = null)
        {
            IRx <T> rx = new ComputedRx <T>(() => compute(source1.Value, source2.Value, source3.Value, source4.Value, source5.Value, source6.Value, source7.Value, source8.Value), equalityComparer);

            source1.Watch(rx.Update);
            source2.Watch(rx.Update);
            source3.Watch(rx.Update);
            source4.Watch(rx.Update);
            source5.Watch(rx.Update);
            source6.Watch(rx.Update);
            source7.Watch(rx.Update);
            source8.Watch(rx.Update);

            return(rx);
        }