Notify modified-state change¶
This operation is clsBindableBase's single-object change-notification hook. A subclass calls it after deciding — by whatever logic it implements — that its own state has changed, and the base class takes care of safely relaying that fact to any attached listener (typically a data-bound UI control).
| Field | Value |
|---|---|
| Operation ID | OP-BIND-001 |
| Trigger | Subclass call to OnIsModifiedChanged(). |
| Inputs | None. |
| Outputs | IsModifiedChanged(this, EventArgs.Empty) when a subscriber is attached; otherwise no side effect. |
| Primary components | clsBindableBase.OnIsModifiedChanged |
| Entry point | SAIF.Framework.Bindable\clsBindableBase.cs |
Steps¶
- A subclass calls
OnIsModifiedChanged()on the currentclsBindableBaseinstance — this is the only way the operation begins; nothing in the base class calls it automatically. - The method checks whether the
IsModifiedChangedevent delegate is non-null, i.e., whether at least one listener has subscribed. - If a subscriber is attached, the method invokes
IsModifiedChanged(this, EventArgs.Empty), passing the bindable instance itself as the sender and an empty event-argument payload. - If no subscriber is attached, the method returns immediately without raising an event and without throwing — the null check guards the invocation.
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start([Subclass calls OnIsModifiedChanged]) --> Check{Subscriber attached?}
Check -->|Yes| Raise[Invoke IsModifiedChanged<br>with this and EventArgs.Empty]
Check -->|No| NoOp([Return without side effects])
Raise --> EndOk([Notification delivered])
Failure and edge-case behavior¶
- No subscriber attached: the method exits quietly rather than throwing, because it guards the delegate invocation with a null check — contrast this with Publish rule-status notification, whose equivalent methods invoke their delegates unguarded.
Related documentation¶
Sources¶
SAIF.Framework.Bindable\clsBindableBase.cs