public static void SyncReadOnly <TSource, TTarget>(this IValueMonitor <TTarget> valueMonitor, IValueObservable <TSource> ob, Func <TSource, TTarget> convertToTarget) { valueMonitor.Observe(ob.Select(convertToTarget), convertToTarget(ob.Value)); }
public static void Sync <TSource, TTarget>(this IValueMonitor <TTarget> valueMonitor, IValueObservable <TSource> ob, Func <TSource, TTarget> convertToTarget, Func <TTarget, TSource> convertToSource) { valueMonitor.Observe(ob.Select(convertToTarget), convertToTarget(ob.Value), x => { ob.Value = convertToSource(x); }); }
public static void ObserveRetained <T>(this IValueMonitor <T> valueMonitor, IRetainedObservable <T> ob) { valueMonitor.Observe(ob, ob.Value); }
public static void Sync <T>(this IValueMonitor <T> valueMonitor, IValueObservable <T> ob) { valueMonitor.Observe(ob, ob.Value, x => { ob.Value = x; }); }
public static void Sync <T>(this IDevice <T> ob, IValueMonitor <T> valueMonitor) { valueMonitor.Observe(ob.Select(arg => arg), ob.Value, x => { ob.Value = x; }); }