ExpressionChainSink class¶
Attributes: [EditorBrowsable(EditorBrowsableState.1)] [RequiresUnreferencedCode("Evaluates expression-based member chains via reflection; members may be trimmed.")]
Defined in
Namespace: ReactiveUI.Binding.ObservableForProperty
Assembly: ReactiveUI.Binding.dll
Full name: ReactiveUI.Binding.ObservableForProperty.ExpressionChainSink<T1, T2>
Modifiers: public sealed
Summary¶
Walks an expression member chain (x.A.B.C) as a single switching engine: one watcher per link, each
observing its link on the value produced by the previous link and re-subscribing the deeper links when an
intermediate value changes. Emits the leaf value as an observed change, applying skip-initial, the
non-null-parent filter, the cast to TValue, and the optional distinct-by-value gate
inline — collapsing the nested Select+Switch fold plus
Skip/Where/Select/DistinctUntilChanged into one allocation-light sink.
Applies to
net10.0, net10.0-browserwasm1.0, net10.0-desktop1.0, net9.0, net9.0-browserwasm1.0, net9.0-desktop1.0, net8.0, net8.0-ios17.5, net8.0-maccatalyst17.5, net8.0-macos14.2, net8.0-macos14.5, net8.0-tvos17.2, netstandard2.1, net462, net481
Class hierarchy
classDiagram
class ExpressionChainSink~T1,T2~
class IObservable~IObservedChange~TSender, TValue~~ {
<>
}
IObservable~IObservedChange~TSender, TValue~~ <|.. ExpressionChainSink~T1,T2~
Implements: IObservable
Constructors¶
| Name | Summary |
|---|---|
| .ctor | Initializes a new instance of the [ExpressionChainSink](# class. |
Methods¶
| Name | Summary |
|---|---|
| Subscribe |