Skip to content

,System.Linq.Expressions.Expression,System.Func,System.Action{System.Object,System.Object,System.Object[]},System.Func{System.Type,System.Type,System.Func{System.Object,System.Object,System.Object[],System.Object}})}

IPropertyBindingExpressionCompiler.CreateDirectSetObservable(TTarget?, IObservable, Expression, Func, Action, Func?>) method

Defined in

Type: IPropertyBindingExpressionCompiler Namespace: ReactiveUI Assembly: ReactiveUI.Core.dll

Applies to

net10.0, net10.0-maccatalyst26.0, net10.0-desktop1.0, net10.0-browserwasm1.0, net10.0-tvos26.0, net10.0-windows10.0.19041, net10.0-macos26.0, net10.0-ios26.0, net10.0-android36.0, net9.0, net9.0-tvos18.0, net9.0-macos15.0, net9.0-maccatalyst18.0, net9.0-windows10.0.19041, net9.0-ios18.0, net9.0-desktop1.0, net8.0, net8.0-windows10.0.19041, net8.0-ios18.0, net8.0-maccatalyst18.0, net8.0-macos15.0, net8.0-tvos18.0, net8.0-ios17.5, net8.0-maccatalyst17.5, net8.0-macos14.5, netstandard2.1, net481, net462, net471

IObservable<(bool ShouldEmit, TValue Value)> CreateDirectSetObservable<TTarget, TValue, TObs>(TTarget? target, IObservable<TObs> observedChanged, Expression viewExpression, Func<object?, object?[]?, object?> getter, Action<object?, object?, object?[]?> setter, Func<Type?, Type?, Func<object?, object?, object?[]?, object?>?> getSetConverter) where TTarget : class

Summary: Creates an observable for direct member binding (no intermediate chain).

Type parameters

NameDescription
TTargetThe target object type.
TValueThe property value type.
TObsThe observed change type.

Parameters

NameTypeDescription
targetTTarget?The target object instance.
observedChangedIObservableThe observable tracking property changes.
viewExpressionExpressionThe view expression.
getterFuncThe compiled getter.
setterActionThe compiled setter.
getSetConverterFunc?>Optional set-method converter resolver.

Returns: IObservable<(bool ShouldEmit, TValue Value)> -- An observable that emits tuples of (shouldEmit, value) when the property changes.

Remarks

        Direct set observables are optimized for simple property bindings without intermediate
        object navigation. They don't need to track host changes.