2.7 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |
|---|---|---|---|---|---|
|
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 toprivate setaccessors. - No null validation in constructor: The constructor does not perform null checks on any parameters; callers may pass
nullvalues which will be assigned directly. - Reference semantics: The
ExtraPropertieslist 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 frameworkSystem.Collections.Generic- ForIList<T>interfaceDTS.Common.Interface.ISO.ExtraProperties- ProvidesIExtraPropertyinterfacePrism.Events- ProvidesPubSubEvent<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