--- source_files: - Common/DTS.Common.Core/DTSConstants.cs generated_at: "2026-04-16T14:07:39.111868+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "481b6b8f305c2ca6" --- # Documentation: DTSConstants.cs ## 1. Purpose This module provides a centralized location for constant values used across the DTS system. It currently exposes hardcoded file paths to configuration files for the DTS Viewer application. As a static class, it serves as a simple key-value store for string constants that need to be referenced from multiple locations in the codebase. --- ## 2. Public Interface ### Class: `DTSConstants` - **Kind**: `public static class` - **Namespace**: `DTS.Common.Core` #### Members: | Name | Type | Value | |------|------|-------| | `CustomConfigPath` | `public const string` | `@"C:\dev\DTS.Viewer\bin\Debug\DTS.Viewer.exe.config"` | | `ViewerConfigPath` | `public const string` | `@"C:\dev\DTS.Viewer\bin\Debug\DTS.Viewer.exe.config"` | Both members are compile-time constants accessible via `DTSConstants.CustomConfigPath` and `DTSConstants.ViewerConfigPath`. --- ## 3. Invariants - Both constants are compile-time literals (`const`), meaning their values are embedded directly into calling assemblies at compile time—not resolved at runtime. - Both constants reference Windows-style absolute file paths. - Both constants currently reference the **identical path**, despite having different names. --- ## 4. Dependencies ### This module depends on: - **None** — No `using` directives or external references are present. ### What depends on this module: - **Cannot be determined from source alone.** Any code referencing `DTS.Common.Core.DTSConstants` may depend on these constants. The paths suggest consumers are related to `DTS.Viewer` configuration loading. --- ## 5. Gotchas 1. **Duplicate values with different names**: `CustomConfigPath` and `ViewerConfigPath` are named differently but contain the exact same path value. The intended semantic difference is unclear from source alone. 2. **Hardcoded development paths**: Both constants point to `C:\dev\DTS.Viewer\bin\Debug\`, which is clearly a local development directory. This will fail on any machine without this exact path structure and appears unsuitable for production deployment. 3. **Debug build reference**: The path explicitly references `Debug` build output, suggesting these constants may be placeholder/development-only values. 4. **Compile-time constant behavior**: Because these are `const` (not `static readonly`), changing these values requires recompilation of all dependent assemblies. A runtime configuration approach would be more flexible. 5. **Suppressed naming convention**: The file includes `// ReSharper disable InconsistentNaming`, suggesting the naming of these constants may deviate from project conventions.