---
title: SAIF.Framework.Windows API reference
summary: Index of all public types in this library.
status: draft
owner: <owner>
last_reviewed: 2026-09-15
library: SAIF.Framework.Windows
reference_type: package
---

# SAIF.Framework.Windows API reference

This page lists all public types exposed by `SAIF.Framework.Windows`. Each type links to its full API reference page.

## Types

| Type | Kind | Namespace | Purpose |
| --- | --- | --- | --- |
| [ConsoleBase\<TArgContainer\>](SAIF.Console/ConsoleBase.md) | Class | `SAIF.Console` | Application lifecycle base class owning `Initialize`/`Execute`/`Finish`, run timing, and console header/footer logging. |
| [ProgramRunnerBase\<TApplication, TArgumentContainer\>](SAIF.Console/ProgramRunnerBase.md) | Class | `SAIF.Console` | Entry-point orchestrator: resolves arguments, composes the Autofac container, resolves the application, and maps exceptions to exit codes. |
| [SaifStandardProgramBase\<TApp, TArgContainer\>](SAIF.Console/SaifStandardProgramBase.md) | Class | `SAIF.Console` | Standardized `ProgramRunnerBase` subclass sourcing raw arguments from `Environment.GetCommandLineArgs()` and always printing the final exit code. |
| [ICommandLineParser](SAIF.Console/ICommandLineParser.md) | Interface | `SAIF.Console` | Contract for parsing raw command-line arguments into a standardized key/value dictionary. |
| [PatternCommandLineParser](SAIF.Console/PatternCommandLineParser.md) | Class | `SAIF.Console` | Regex-driven `ICommandLineParser` implementation that splits argument tokens on a configurable pattern. |
| [SaifStandardCommandLineParser](SAIF.Console/SaifStandardCommandLineParser.md) | Class | `SAIF.Console` | `PatternCommandLineParser` subclass fixing the parse pattern to the SAIF standard argument syntax. |
| [ConsoleLogService](SAIF.Console/ConsoleLogService.md) | Class | `SAIF.Console` | Discovers machine-scoped numbered log-file environment variables and coordinates console/file logging via `LogWriter` instances. |
| [LogWriter](SAIF.Console/LogWriter.md) | Class | `SAIF.Console` | Wraps a lazily-created `StreamWriter` for a single named log file/`LogType`. |
| [AutofacExtensions](SAIF.Console/AutofacExtensions.md) | Class | `SAIF.Console` | Static extension methods composing core framework services and NHibernate unit-of-work registrations into an Autofac container. |
| [ArgumentContainerBase\<TArgumentContainer\>](SAIF.Console.Arguments/ArgumentContainerBase.md) | Class | `SAIF.Console.Arguments` | Argument-parsing/resolution root that binds parsed command-line values onto a consuming application's argument container. |
| [StandardArgumentContainerBase\<TArgumentContainer\>](SAIF.Console.Arguments/StandardArgumentContainerBase.md) | Class | `SAIF.Console.Arguments` | `ArgumentContainerBase` subclass fixing `CommandLineParser` to a private `SaifStandardCommandLineParser` instance. |
| [ArgumentResolver\<TArgumentContainer, TArgument\>](SAIF.Console.Arguments/ArgumentResolver.md) | Class | `SAIF.Console.Arguments` | Per-property resolver that binds and validates a single argument, supporting required/optional and typed conversion semantics. |
| [ArgumentResolverBuilder\<TArgumentContainer\>](SAIF.Console.Arguments/ArgumentResolverBuilder.md) | Class | `SAIF.Console.Arguments` | Fluent builder used inside `BuildArgumentResolvers` to explicitly configure per-property argument resolvers. |
| [SaifConsoleException](SAIF.Console.Exceptions/SaifConsoleException.md) | Class | `SAIF.Console.Exceptions` | Abstract base exception carrying an `ExitCode` consumed by the program runner's top-level catch clause. |
| [BadParameterException](SAIF.Console.Exceptions/BadParameterException.md) | Class | `SAIF.Console.Exceptions` | `SaifConsoleException` subclass with a fixed `ExitCode = 1`. |
| [CustomErrorException](SAIF.Console.Exceptions/CustomErrorException.md) | Class | `SAIF.Console.Exceptions` | `SaifConsoleException` subclass with a caller-supplied `ExitCode`. |
| [DatabaseErrorException](SAIF.Console.Exceptions/DatabaseErrorException.md) | Class | `SAIF.Console.Exceptions` | `SaifConsoleException` subclass with a fixed `ExitCode = 2`. |
| [DataErrorException](SAIF.Console.Exceptions/DataErrorException.md) | Class | `SAIF.Console.Exceptions` | `SaifConsoleException` subclass with a fixed `ExitCode = 3`. |
| [FileInputOutputException](SAIF.Console.Exceptions/FileInputOutputException.md) | Class | `SAIF.Console.Exceptions` | `SaifConsoleException` subclass with a fixed `ExitCode = 4`. |
| [NoDataFoundException](SAIF.Console.Exceptions/NoDataFoundException.md) | Class | `SAIF.Console.Exceptions` | `SaifConsoleException` subclass with a fixed `ExitCode = 6`. |
| [DatabaseConfig](SAIF.Console.DatabaseConfigs/DatabaseConfig.md) | Class | `SAIF.Console.DatabaseConfigs` | Abstract base composing a named NHibernate unit-of-work/repository-factory registration into an Autofac container. |
| [OracleConfig](SAIF.Console.DatabaseConfigs/OracleConfig.md) | Class | `SAIF.Console.DatabaseConfigs` | `DatabaseConfig` subclass registering an Oracle-backed unit of work, selecting stateful or stateless factory by flag. |
| [SqlServerConfig](SAIF.Console.DatabaseConfigs/SqlServerConfig.md) | Class | `SAIF.Console.DatabaseConfigs` | `DatabaseConfig` subclass registering a SQL Server-backed unit of work under a single fixed factory name. |

## Sources
- `Console\SAIF.Console\SAIF.Framework.Windows.csproj`
