2.6 KiB
2.6 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |
|---|---|---|---|---|---|
|
2026-04-17T16:39:23.058616+00:00 | zai-org/GLM-5-FP8 | 1 | c9e635756f4d2d11 |
Documentation: ExtraPropertiesChangedEvent.cs
1. Purpose
This module defines a Prism-based event mechanism for broadcasting changes to "extra properties" within the ISO-related subsystem. It enables decoupled pub/sub communication between components, allowing a producer to notify consumers when a collection of IExtraProperty objects has changed. The event follows the Prism CompositePresentationEvent pattern for loosely-coupled messaging.
2. Public Interface
ExtraPropertiesChangedEvent
A class that inherits from CompositePresentationEvent<ExtraPropertiesChangedEventArgs>. It serves as the event definition used with Prism's IEventAggregator for publishing and subscribing to extra property change notifications.
Signature:
public class ExtraPropertiesChangedEvent : CompositePresentationEvent<ExtraPropertiesChangedEventArgs> { }
ExtraPropertiesChangedEventArgs
A payload class carrying information about the property change event.
Constructor:
public ExtraPropertiesChangedEventArgs(IList<IExtraProperty> extraProperties, object producer, object consumer)
Properties:
| Property | Type | Access | Description |
|---|---|---|---|
ExtraProperties |
IList<IExtraProperty> |
Public get, private set | The collection of extra properties that changed |
Producer |
object |
Public get, private set | The object that produced/owns the extra properties |
Consumer |
object |
Public get, private set | The intended consumer of the extra properties |
3. Invariants
- Immutability: All properties on
ExtraPropertiesChangedEventArgsare read-only after construction (private setters). - Required parameters: The constructor requires all three parameters (
extraProperties,producer,consumer) to be provided—no parameterless constructor exists. - No null validation: The constructor does not perform null checks on any parameters; null values will be stored as-is.
4. Dependencies
This module depends on:
DTS.Common.Interface.ISO.ExtraProperties— Provides theIExtraPropertyinterface used in theExtraPropertiescollectionMicrosoft.Practices.Prism.Events— ProvidesCompositePresentationEvent<T>base class for the event pattern
What depends on this module:
- Unknown from source alone — Consumers would subscribe to or publish this event via Prism's
IEventAggregator, but