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

2.7 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.Common/Events/ISO/ExtraPropertiesChangedEvent.cs
2026-04-17T16:43:15.351224+00:00 zai-org/GLM-5-FP8 1 f41653a888428aaa

Documentation: ExtraPropertiesChangedEvent.cs

1. Purpose

This module provides a Prism-based event mechanism for broadcasting changes to "extra properties" within an ISO-related domain. It enables loose coupling between producers and consumers of property change notifications by leveraging the PubSubEvent pattern from Prism's event aggregation framework. The event carries metadata about which properties changed, the object that produced the change, and the intended consumer.

2. Public Interface

ExtraPropertiesChangedEvent

A class that extends PubSubEvent<ExtraPropertiesChangedEventArgs>. This is the event token used to subscribe to or publish extra property change notifications via a Prism IEventAggregator.

Signature:

public class ExtraPropertiesChangedEvent : PubSubEvent<ExtraPropertiesChangedEventArgs> { }

ExtraPropertiesChangedEventArgs

A class encapsulating the data passed when the event is raised.

Constructor:

public ExtraPropertiesChangedEventArgs(IList<IExtraProperty> extraProperties, object producer, object consumer)

Properties:

Property Type Access Description
ExtraProperties IList<IExtraProperty> get; private set; The collection of extra properties that changed.
Producer object get; private set; The object that produced the property changes.
Consumer object get; private set; The intended consumer of the property changes.

3. Invariants

  • Immutability after construction: All properties (ExtraProperties, Producer, Consumer) are set exclusively via the constructor and cannot be modified afterward due to private set accessors.
  • No null validation in constructor: The constructor does not perform null checks on any parameters; callers may pass null values which will be assigned directly.
  • Reference semantics: The ExtraProperties list is stored by reference, not copied; modifications to the original list after construction could affect the event args.

4. Dependencies

This module depends on:

  • System - Core .NET framework
  • System.Collections.Generic - For IList<T> interface
  • DTS.Common.Interface.ISO.ExtraProperties - Provides IExtraProperty interface
  • Prism.Events - Provides PubSubEvent<T> base class (Prism library)

What depends on this module:

  • Cannot be determined from this source file alone. Consumers would be any module that publishes or subscribes to ExtraPropertiesChangedEvent