init
This commit is contained in:
53
enriched-partialglm/Common/DTS.CommonCore/Attributes.md
Normal file
53
enriched-partialglm/Common/DTS.CommonCore/Attributes.md
Normal file
@@ -0,0 +1,53 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Attributes/VersionAttribute.cs
|
||||
generated_at: "2026-04-16T12:02:23.720037+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "97df6c62ae44caee"
|
||||
---
|
||||
|
||||
# Documentation: VersionAttribute
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
`VersionAttribute` is a custom attribute class that allows developers to annotate code elements (classes, methods, properties, etc.) with an integer version number. It provides a simple mechanism for versioning components within the DTS system, which may be used for tracking API evolution, serialization compatibility, or feature versioning.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `VersionAttribute` Class
|
||||
**Namespace:** `DTS.Common.Attributes`
|
||||
**Base Class:** `System.Attribute`
|
||||
|
||||
#### Constructor
|
||||
```csharp
|
||||
public VersionAttribute(int version)
|
||||
```
|
||||
Creates a new instance of the attribute with the specified version number. The `version` parameter is stored in the read-only `Version` property.
|
||||
|
||||
#### Properties
|
||||
```csharp
|
||||
public int Version { get; private set; }
|
||||
```
|
||||
Returns the version number specified when the attribute was instantiated. This property is read-only externally; it can only be set via the constructor.
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- The `Version` property is immutable after construction (private setter).
|
||||
- The `Version` value is always an `int`; no null state is possible since `int` is a value type.
|
||||
- No constraints are enforced on the range of `version` (negative values, zero, and positive values are all accepted).
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `System` — Provides the `Attribute` base class.
|
||||
- `System.Linq` — Imported but **not used** in the current implementation.
|
||||
|
||||
### What depends on this module:
|
||||
- Cannot be determined from the source file alone. This attribute is defined in `DTS.CommonCore`, suggesting it is part of a core utilities library that other modules likely reference.
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Unused import:** The `using System.Linq;` directive is present but not utilized in the code. This may be leftover from refactoring or template code.
|
||||
- **No `AttributeUsage` declaration:** The attribute lacks an `[AttributeUsage]` specification, meaning it can be applied to any target (classes, methods, assemblies, etc.) with default behavior (allowing multiple instances = false, inherited = true). If specific usage constraints are intended, they are not enforced at the attribute definition level.
|
||||
- **No version validation:** The constructor accepts any integer, including negative values. If semantic versioning or positive-only constraints are expected by consumers, they are not enforced here.
|
||||
Reference in New Issue
Block a user