--- source_files: - Common/DTS.Common/Classes/ISO/ExtraProperties/TextPastedArgs.cs generated_at: "2026-04-17T16:40:00.349676+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "d715f67ccc715086" --- # Documentation: TextPastedArgs ## 1. Purpose `TextPastedArgs` is an event argument class that encapsulates data related to text paste operations within the ISO Extra Properties system. It implements `ITextPastedEventArgs` and serves as a data transfer object to communicate paste event details—including the pasted text content, the source extra property, an identifier, and an optional tag—between event producers and consumers. ## 2. Public Interface ### Class: `TextPastedArgs` **Namespace:** `DTS.Common.ISO.ExtraProperties` **Implements:** `ITextPastedEventArgs` #### Properties | Property | Type | Access | Description | |----------|------|--------|-------------| | `Text` | `string` | Read-only | The text content that was pasted. | | `Sender` | `object` | Read-only | The source object of the paste event. Set from the `extraProperty` constructor parameter. | | `Id` | `string` | Read-only | An identifier associated with the paste event. | | `Tag` | `object` | Read-only | An arbitrary object for additional context or data. | #### Constructor ```csharp public TextPastedArgs(string text, IExtraProperty extraProperty, string id, object tag) ``` Creates a new `TextPastedArgs` instance with the specified values. The `extraProperty` parameter is assigned to the `Sender` property. ## 3. Invariants - All properties are immutable after construction (read-only getters with no setters). - `Sender` is always assigned from an `IExtraProperty` instance passed to the constructor, though the property type is `object`. - No null validation is performed in the constructor; any parameter may be `null`. ## 4. Dependencies ### This module depends on: - `DTS.Common.Events` — Likely contains event infrastructure or the `ITextPastedEventArgs` interface definition. - `DTS.Common.Interface.ISO.ExtraProperties` — Provides `ITextPastedEventArgs` and `IExtraProperty` interfaces. ### What depends on this module: - Cannot be determined from this source file alone. ## 5. Gotchas 1. **Naming mismatch:** The constructor parameter is named `extraProperty` but is assigned to the `Sender` property. This naming inconsistency may cause confusion about the intended semantics of the property. 2. **Unused imports:** The file imports `System.Collections.Generic`, `System.Linq`, and `System.Text`, none of which are used in the current implementation. This may indicate dead code or remnants from previous refactoring. 3. **No null guards:** The constructor performs no validation. Callers should be aware that `Text`, `Id`, `Sender`, and `Tag` may all be `null` depending on what is passed in.