Skip to content

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 the SAIF.BOF.Framework NuGet 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_CriteriaObject field (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 BOF Criteria/IBusinessCriteria pattern is inferred but not confirmed by any code in this library.*
  • The protected OnIsModifiedChanged() method raises IsModifiedChanged only 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 IsModifiedChanged event 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