Skip to content

,System.Linq.Expressions.Expression,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.CreateChainedSetObservable(TTarget?, IObservable, Expression, 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)> CreateChainedSetObservable<TTarget, TValue, TObs>(TTarget? target, IObservable<TObs> observedChanged, Expression viewExpression, Expression[] hostExpressionChain, 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 chained member binding (with intermediate host changes).

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.
hostExpressionChainExpression[]The host expression chain.
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

        Chained set observables handle complex property paths where intermediate objects can change.
        They track host changes and replay values when the host (e.g., ViewModel) changes.