AppliedChangeObservable class¶
Attributes: [DebuggerDisplay("AppliedChangeObservable: {_observers.Length} observer(s)")]
Defined in
Namespace: ReactiveUI.Binding.Reactive.Observables
Assembly: ReactiveUI.Binding.Reactive.dll
Full name: ReactiveUI.Binding.Reactive.Observables.AppliedChangeObservable
Modifiers: public sealed
Summary¶
The changes a two-way binding actually wrote, handed to whoever subscribes to the binding.
Applies to
net10.0, net10.0-browserwasm1.0, net10.0-desktop1.0, net9.0, net9.0-tvos18.0, net9.0-maccatalyst18.0, net9.0-ios18.0, net9.0-macos15.0, net9.0-desktop1.0, net8.0, net8.0-macos14.5, net8.0-ios18.0, net8.0-maccatalyst18.0, net8.0-macos15.0, net8.0-tvos18.0, net8.0-ios17.5, net8.0-maccatalyst17.5, netstandard2.1, net481, net462, net471
Class hierarchy
classDiagram
class AppliedChangeObservable
class IObservable~BindingChange~ {
<>
}
IObservable~BindingChange~ <|.. AppliedChangeObservable
Implements: IObservable
Remarks¶
A two-way binding applies each change once and reports the same change to its subscribers, so both have to come from one place. Projecting the two observed sides a second time instead would attach another set of property handlers for every subscriber, and would report values the binding weighed and refused to write - the echo of a write is exactly what a subscriber is trying to tell apart from an edit.
Observers are kept in an array that is replaced rather than mutated, so a change already being delivered walks the set it started with and a subscription taken during delivery cannot disturb it.
Constructors¶
| Name | Summary |
|---|---|
| .ctor |
Methods¶
| Name | Summary |
|---|---|
| OnNext | Reports a change the binding has written. |
| Subscribe |