clsBindableBase¶
clsBindableBase is an abstract base class that exposes a serialization-safe IsModifiedChanged event and a protected m_CriteriaObject field, intended to be inherited by business object classes elsewhere in the SAIF BOF stack that need to support data-binding change notification.
Purpose¶
- Provide a reusable, guarded change-notification event (
IsModifiedChanged) for subclasses whose modified state needs to be surfaced to a data-bound UI or consumer.
Context¶
- Namespace:
SAIF.Framework - Assembly/package:
SAIF.BOF.Framework.Bindable.csproj(packed into theSAIF.BOF.FrameworkNuGet package)*
Public members¶
| Member | Signature | Purpose |
|---|---|---|
IsModifiedChanged |
event EventHandler IsModifiedChanged |
Serialization-safe ([NonSerialized]) event raised when a subclass's modified state changes. |
Behavioral notes¶
- The protected
m_CriteriaObjectfield (Object) is not directly exposed as a public member but is available to subclasses; no usage of the field appears within this library itself, and its intended relationship to the SAIF BOFCriteria/IBusinessCriteriapattern is inferred but not confirmed by any code in this library.* - The protected
OnIsModifiedChanged()method raisesIsModifiedChangedonly if a subscriber is attached (if (IsModifiedChanged != null)), so calling it with no subscriber is safe and raises no exception. - No consumers of this class exist within this library's own source; actual subclassing usage is outside this library's scope and unverified.**
Constraints and usage notes¶
- Subclasses must call the protected
OnIsModifiedChanged()method themselves to raise the event; this base class does not automatically detect state changes. - The
IsModifiedChangedevent is marked[NonSerialized], so it is excluded from binary/XML serialization of the subclass instance.
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.
Sources¶
SAIF.Framework.Bindable\clsBindableBase.cs