Files
DP44/docs/ai/Common/DTS.CommonCore/Events/RegionOfInterest.md
2026-04-17 14:55:32 -04:00

2.5 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.CommonCore/Events/RegionOfInterest/RegionOfInterestChangedEvent.cs
2026-04-17T16:39:19.158808+00:00 zai-org/GLM-5-FP8 1 e442143e0642d03f

Documentation: RegionOfInterestChangedEvent

1. Purpose

This module defines RegionOfInterestChangedEvent, a typed event class for use with the Prism Event Aggregator pattern. It enables loosely-coupled publication and subscription of region-of-interest change notifications across the application. The event carries an IRegionOfInterest payload, allowing subscribers to react to changes in the active or selected region without direct coupling to the publisher.


2. Public Interface

RegionOfInterestChangedEvent

Signature:

public class RegionOfInterestChangedEvent : CompositePresentationEvent<IRegionOfInterest> { }

Description:
An empty class that inherits from CompositePresentationEvent<IRegionOfInterest>. It serves as a type identifier for the Prism Event Aggregator, defining an event that publishes/subscribes to IRegionOfInterest instances. No additional members are defined; all functionality is inherited from the base class.


3. Invariants

  • The event payload type is fixed to IRegionOfInterest; subscribers will receive objects implementing this interface.
  • The class must remain instantiable (it is not static or abstract), allowing the Event Aggregator to create instances as needed.
  • Inheritance from CompositePresentationEvent<T> is required for integration with Prism's IEventAggregator.

4. Dependencies

This module depends on:

  • DTS.Common.Interface.RegionOfInterest.IRegionOfInterest — the interface defining the event payload contract.
  • Microsoft.Practices.Prism.Events.CompositePresentationEvent<T> — the Prism base class for typed events.

What depends on this module:

  • Unknown from source alone. Consumers would typically be modules that publish or subscribe to region-of-interest changes via the Event Aggregator.

5. Gotchas

  • Older Prism namespace: The import Microsoft.Practices.Prism.Events indicates use of an older version of Prism (pre-.NET Core/NET5+). Modern Prism uses Prism.Events. This may affect migration or cross-version compatibility.
  • Empty class by design: The class body is intentionally empty. It relies entirely on the base class for functionality. Do not add instance members; thread-safe subscription options are provided by the base CompositePresentationEvent<T>.