Files
2026-04-17 14:55:32 -04:00

2.6 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.CommonCore/Events/ISO/ExtraPropertiesChangedEvent.cs
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 ExtraPropertiesChangedEventArgs are 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 the IExtraProperty interface used in the ExtraProperties collection
  • Microsoft.Practices.Prism.Events — Provides CompositePresentationEvent<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