--- source_files: - DataPRO/Modules/ISO/ExtraProperties/ExtraPropertiesModule.cs generated_at: "2026-04-17T16:30:25.825122+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "2be65806338da7b0" --- # ExtraProperties ### Purpose This module provides a user interface for managing ISO extra properties, which appear to be key-value pairs associated with ISO channel configurations. It is a Prism module that registers a list view and view model for displaying and editing extra properties. The module belongs to the "Prepare" assembly group and targets the "ExtraPropertiesRegion" for UI composition. ### Public Interface **`ExtraPropertiesModule`** (class) - `ExtraPropertiesModule(IUnityContainer unityContainer)` - Constructor accepting a Unity container via dependency injection. - `void Initialize()` - Registers `IExtraPropertiesListViewModel` to `ExtraPropertiesListViewModel` and `IExtraPropertiesListView` to `ExtraPropertiesListView` with the Unity container. - `void OnInitialized(IContainerProvider containerProvider)` - Empty implementation; no initialization logic executed. - `void RegisterTypes(IContainerRegistry containerRegistry)` - Calls `Initialize()` to perform type registration. **`ExtraPropertiesModuleNameAttribute`** (class, inherits `TextAttribute`) - `ExtraPropertiesModuleNameAttribute()` / `ExtraPropertiesModuleNameAttribute(string s)` - Constructors that set `AssemblyName` to `AssemblyNames.ExtraProperties.ToString()`. - `string AssemblyName` (property, override) - Returns the assembly name. - `Type GetAttributeType()` - Returns `typeof(TextAttribute)`. - `string GetAssemblyName()` - Returns the `AssemblyName` property value. **`ExtraPropertiesModuleImageAttribute`** (class, inherits `ImageAttribute`) - `ExtraPropertiesModuleImageAttribute()` / `ExtraPropertiesModuleImageAttribute(string s)` - Constructors that load the assembly image via `AssemblyInfo.GetImage()`. - `BitmapImage AssemblyImage` (property, override) - Lazy-loads and returns the module's image. - `string AssemblyName` (property, override) - Returns `AssemblyNames.ExtraProperties.ToString()`. - `string AssemblyGroup` (property, override) - Returns `eAssemblyGroups.Prepare.ToString()`. - `eAssemblyRegion AssemblyRegion` (property, override) - Returns `eAssemblyRegion.ExtraPropertiesRegion`. - `BitmapImage GetAssemblyImage()`, `string GetAssemblyName()`, `string GetAssemblyGroup()`, `eAssemblyRegion GetAssemblyRegion()` - Accessor methods for respective properties. - `Type GetAttributeType()` - Returns `typeof(ImageAttribute)`. ### Invariants - The module must be instantiated with a non-null `IUnityContainer` reference. - `Initialize()` must be called (via `RegisterTypes`) before views/view models can be resolved. - View and ViewModel registrations are transient (not singleton), despite the comment claiming singleton registration. ### Dependencies **Imports:** - `DTS.Common` - Provides `TextAttribute`, `ImageAttribute`, `AssemblyNames`, `AssemblyInfo`, `eAssemblyGroups`, `eAssemblyRegion`. - `DTS.Common