--- source_files: - Common/DTS.CommonCore/Enums/GroupTemplates/GroupTemplateChannelFields.cs - Common/DTS.CommonCore/Enums/GroupTemplates/GroupTemplateFields.cs generated_at: "2026-04-17T16:37:01.677534+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "8d4381d6f54274f5" --- # Documentation: Group Template Field Enums ## 1. Purpose This module defines two enumeration types within the `DTS.Common.Enums.GroupTemplates` namespace that serve as field identifiers for group template entities and their associated channels. These enums provide strongly-typed constants for referencing specific fields, likely used in data mapping, validation, serialization, or UI binding scenarios where field names need to be referenced programmatically rather than via magic strings. --- ## 2. Public Interface ### `GroupTemplateChannelFields` **Namespace:** `DTS.Common.Enums.GroupTemplates` Defines field identifiers for channel objects within group templates. | Member | Implicit Value | |--------|----------------| | `Required` | 0 | | `Name` | 1 | | `ISOCode` | 2 | | `Custom` | 3 | | `DisplayOrder` | 4 | --- ### `GroupTemplateFields` **Namespace:** `DTS.Common.Enums.GroupTemplates` Defines field identifiers for group template entities. | Member | Implicit Value | |--------|----------------| | `Name` | 0 | | `Description` | 1 | | `Channels` | 2 | | `LastModifiedBy` | 3 | | `LastModified` | 4 | | `AssociatedGroups` | 5 | --- ## 3. Invariants - Both enums use implicit integer backing values starting at 0, incrementing by 1 for each subsequent member. - The `Name` member exists in both enums but represents different entities and has different implicit values (`1` in `GroupTemplateChannelFields`, `0` in `GroupTemplateFields`). - All enum members are `public` by default (standard C# enum member visibility). --- ## 4. Dependencies **Dependencies (what this module imports):** - None. These are self-contained enum definitions with no external references. **Dependents (what depends on this module):** - Unknown from source alone. Consumers would reference the `DTS.Common.Enums.GroupTemplates` namespace to use these field identifiers. --- ## 5. Gotchas - **Member name collision:** `Name` exists in both enums. Code referencing these values must use the fully-qualified type or disambiguate via the enum type to avoid confusion. - **Implicit value ordering:** The implicit integer values differ for semantically similar fields. For example, `Name` is value `1` in `GroupTemplateChannelFields` but `0` in `GroupTemplateFields`. Any serialization or persistence logic relying on these integer values should account for this. - **No explicit values defined:** Neither enum explicitly assigns values to members. Refactoring (adding, removing, or reordering members) could break any code or stored data that depends on the implicit integer values.