65 lines
3.0 KiB
Markdown
65 lines
3.0 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- Common/DTS.CommonCore/Classes/WindowsFolder/WindowsFolder.cs
|
||
|
|
generated_at: "2026-04-17T16:38:34.541099+00:00"
|
||
|
|
model: "zai-org/GLM-5-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "95afd8653b72b5d8"
|
||
|
|
---
|
||
|
|
|
||
|
|
# Documentation: WindowsFolder.cs
|
||
|
|
|
||
|
|
## 1. Purpose
|
||
|
|
|
||
|
|
`WindowsFolder` is a utility class that provides functionality for opening Windows filesystem folders via the operating system's file explorer. It currently exposes a single method for launching Windows Explorer to display the application's manuals directory. This class exists to centralize folder-opening logic for the DTS Suite application, abstracting away the details of process invocation and path construction.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 2. Public Interface
|
||
|
|
|
||
|
|
### `public static void OpenManualsFolder(string path)`
|
||
|
|
|
||
|
|
Opens the manuals folder in Windows Explorer.
|
||
|
|
|
||
|
|
- **Parameters:**
|
||
|
|
- `path` (string): The base directory path where the Manuals folder is expected to reside.
|
||
|
|
|
||
|
|
- **Behavior:**
|
||
|
|
1. Constructs the full path to the manuals folder by combining the provided `path` with `Constants.ManualsFolder`.
|
||
|
|
2. Launches Windows Explorer (`Constants.WindowsExplorer`) with the constructed path as an argument using `Process.Start()`.
|
||
|
|
|
||
|
|
- **Example usage:**
|
||
|
|
```csharp
|
||
|
|
WindowsFolder.OpenManualsFolder(@"C:\DTS\DTS.Suite\1.0\DataPRO");
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 3. Invariants
|
||
|
|
|
||
|
|
- The `path` parameter must be a valid directory path string; no null/empty validation is performed within the method.
|
||
|
|
- The `Constants.ManualsFolder` constant must be defined and represent a valid folder name.
|
||
|
|
- The `Constants.WindowsExplorer` constant must be defined and represent a valid executable path or name (likely `"explorer.exe"`).
|
||
|
|
- The caller is responsible for ensuring the Manuals folder exists at the constructed location before calling this method.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 4. Dependencies
|
||
|
|
|
||
|
|
### This module depends on:
|
||
|
|
- **System** - Base .NET types
|
||
|
|
- **System.Diagnostics** - `Process` and `ProcessStartInfo` for launching external processes
|
||
|
|
- **System.IO** - `Path` for path manipulation
|
||
|
|
- **Constants** (location unspecified in source) - Provides `ManualsFolder` and `WindowsExplorer` constants
|
||
|
|
|
||
|
|
### What depends on this module:
|
||
|
|
- Cannot be determined from the source alone; no consumers are shown.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 5. Gotchas
|
||
|
|
|
||
|
|
- **No existence check:** The method does not verify that the constructed `manualsPath` exists before attempting to open it. If the path is invalid, Windows Explorer behavior is undefined (it may open to a default location or show an error).
|
||
|
|
- **No error handling:** There is no try/catch block. Exceptions from `Process.Start()` (e.g., if Windows Explorer cannot be launched) will propagate to the caller.
|
||
|
|
- **No null/empty validation:** Passing `null` or an empty string as `path` will result in `Path.Combine()` producing unexpected results, potentially leading to runtime exceptions.
|
||
|
|
- **Comment discrepancy:** The XML documentation mentions a default path (`C:\DTS\DTS.Suite\(version)\DataPRO\Manuals`), but the method does not use this default—it relies entirely on the caller-provided `path` parameter. The comment describes context rather than implementation.
|