init
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Enums/Groups/GroupList/GroupFields.cs
|
||||
generated_at: "2026-04-16T02:45:01.417346+00:00"
|
||||
model: "Qwen/Qwen3-Coder-Next-FP8"
|
||||
schema_version: 1
|
||||
sha256: "2f4786cffbcd013b"
|
||||
---
|
||||
|
||||
# GroupList
|
||||
|
||||
## 1. Purpose
|
||||
This module defines a strongly-typed enumeration `GroupFields` used to represent standardized field names for group entities within the DTS system. It serves as a canonical source of field identifiers—particularly for UI labeling, data binding, serialization, or query construction—where consistent field naming and localized description strings are required. The use of `Description` attributes and a custom `TypeConverter` indicates this enum is intended for scenarios requiring human-readable display text (e.g., column headers, form labels) while maintaining type safety and compile-time correctness.
|
||||
|
||||
## 2. Public Interface
|
||||
The module exposes a single public type:
|
||||
|
||||
- **`DTS.Common.Enums.Groups.GroupList.GroupFields`**
|
||||
An enum with the following members (all marked with `[Description]` attributes):
|
||||
- `Name` → Description: `"GroupField_Name"`
|
||||
- `DisplayName` → Description: `"GroupField_DisplayName"`
|
||||
- `Description` → Description: `"GroupField_Description"`
|
||||
- `ChannelCount` → Description: `"GroupField_ChannelCount"`
|
||||
- `LastModified` → Description: `"GroupField_LastModified"`
|
||||
- `LastModifiedBy` → Description: `"GroupField_LastModifiedBy"`
|
||||
- `AssociatedTestSetups` → Description: `"GroupField_AssociatedTestSetups"`
|
||||
|
||||
Each member’s description string is retrieved via the `EnumDescriptionTypeConverter` (from `DTS.Common.Converters`), enabling automatic conversion to localized or display-friendly strings.
|
||||
|
||||
## 3. Invariants
|
||||
- All enum values are explicitly annotated with `[Description]` attributes; no member lacks a description.
|
||||
- The enum is sealed (implicit, as enums are sealed in C#) and non-extensible at runtime.
|
||||
- The `Description` attribute values are string literals (no dynamic resolution), implying the descriptions are fixed at compile time.
|
||||
- The enum is intended for use *only* with the `EnumDescriptionTypeConverter`; behavior with other converters is unspecified.
|
||||
|
||||
## 4. Dependencies
|
||||
- **Depends on**:
|
||||
- `System.ComponentModel` (for `DescriptionAttribute` and `TypeConverter`)
|
||||
- `DTS.Common.Converters.EnumDescriptionTypeConverter` (custom type converter implementation)
|
||||
- **Used by**:
|
||||
- Unknown from source alone. Likely consumed by UI layers (e.g., data grid column definitions), serialization logic, or data mapping components that require consistent field identification and display text.
|
||||
|
||||
## 5. Gotchas
|
||||
- The `Description` attribute values (e.g., `"GroupField_Name"`) appear to be *keys* rather than human-readable strings themselves, suggesting they are intended for localization via resource lookup (e.g., `ResourceManager.GetString("GroupField_Name")`). This is not explicit in the source, so consumers must verify how `EnumDescriptionTypeConverter` resolves these keys.
|
||||
- No validation or runtime checks ensure enum values are only used in contexts expecting *group-related* fields; misuse in non-group contexts is possible.
|
||||
- The enum name `GroupFields` (plural) may be misleading since it represents *singular* field identifiers (e.g., `GroupFields.Name` refers to the *Name* field, not multiple fields).
|
||||
- None identified from source alone.
|
||||
Reference in New Issue
Block a user