--- source_files: - Common/DTS.CommonCore/Interface/CheckTrigger/ICheckTriggerView.cs - Common/DTS.CommonCore/Interface/CheckTrigger/ICheckTriggerViewModel.cs generated_at: "2026-04-17T16:36:18.184208+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "a2e651bebe370a84" --- # Documentation: ICheckTriggerView and ICheckTriggerViewModel ## 1. Purpose This module defines two marker interfaces—`ICheckTriggerView` and `ICheckTriggerViewModel`—that establish the View and ViewModel contracts for a "CheckTrigger" feature within an MVVM (Model-View-ViewModel) architecture. These interfaces serve as type identifiers, inheriting from base framework interfaces (`IBaseView` and `IBaseViewModel` respectively) without adding additional members. They exist to enable type-safe binding, dependency injection, or navigation registration within the DTS.CommonCore system. ## 2. Public Interface ### `ICheckTriggerView` - **Signature:** `public interface ICheckTriggerView : IBaseView { }` - **Namespace:** `DTS.Common.Interface` - **Behavior:** Empty marker interface extending `IBaseView`. Provides no additional members beyond those inherited from `IBaseView`. Intended to be implemented by View components associated with CheckTrigger functionality. ### `ICheckTriggerViewModel` - **Signature:** `public interface ICheckTriggerViewModel : IBaseViewModel { }` - **Namespace:** `DTS.Common.Interface` - **Behavior:** Empty marker interface extending `IBaseViewModel`. Provides no additional members beyond those inherited from `IBaseViewModel`. Intended to be implemented by ViewModel components associated with CheckTrigger functionality. ## 3. Invariants - Any class implementing `ICheckTriggerView` must also satisfy the contract of `IBaseView` (defined in `DTS.Common.Base`). - Any class implementing `ICheckTriggerViewModel` must also satisfy the contract of `IBaseViewModel` (defined in `DTS.Common.Base`). - The actual member requirements for these interfaces are determined entirely by their base interfaces, which are not shown in the provided source. ## 4. Dependencies ### This module depends on: - `DTS.Common.Base` — Provides `IBaseView` and `IBaseViewModel` base interfaces. ### What depends on this module: - **Unclear from source alone.** Consumers would include any View or ViewModel classes implementing these interfaces, as well as any navigation, routing, or dependency injection infrastructure that registers or resolves these types. ## 5. Gotchas - **Marker interfaces with no members:** Neither interface defines any properties, methods, or events. All contractual behavior is inherited from `IBaseView` and `IBaseViewModel`. Developers implementing these interfaces must consult the base interface definitions to understand required members. - **Naming convention:** The "CheckTrigger" naming suggests a specific feature domain, but the purpose and behavior of this feature cannot be determined from these interface definitions alone. - **No explicit View-ViewModel pairing:** While the naming suggests these interfaces are paired (View/ViewModel), there is no compile-time enforcement of this relationship in the source.