Webion.Extensions.Configuration.Abstractions
1.0.0
See the version list below for details.
dotnet add package Webion.Extensions.Configuration.Abstractions --version 1.0.0
NuGet\Install-Package Webion.Extensions.Configuration.Abstractions -Version 1.0.0
<PackageReference Include="Webion.Extensions.Configuration.Abstractions" Version="1.0.0" />
<PackageVersion Include="Webion.Extensions.Configuration.Abstractions" Version="1.0.0" />
<PackageReference Include="Webion.Extensions.Configuration.Abstractions" />
paket add Webion.Extensions.Configuration.Abstractions --version 1.0.0
#r "nuget: Webion.Extensions.Configuration.Abstractions, 1.0.0"
#:package Webion.Extensions.Configuration.Abstractions@1.0.0
#addin nuget:?package=Webion.Extensions.Configuration.Abstractions&version=1.0.0
#tool nuget:?package=Webion.Extensions.Configuration.Abstractions&version=1.0.0
Webion.Extensions.Configuration.Abstractions
Webion.Extensions.Configuration.Abstractions is a lightweight library designed to provide abstractions and utilities for working with application configuration in .NET. It enables developers to define, structure, and dynamically describe configuration settings using a unified interface.
Features
ISettingInterface:- A simple abstraction for application configuration sections.
- Ensures all configuration settings are structured uniformly.
OptionsDescriptorUtility:- Scans assemblies for classes implementing the
ISettinginterface. - Generates key-value mappings of configuration properties with optional hierarchical section prefixes.
- Simplifies working with complex application settings or nested configuration structures.
- Scans assemblies for classes implementing the
Requirements
- Target Framework:
.NET 9.0
Installation
You can install this library via NuGet:
dotnet add package Webion.Extensions.Configuration.Abstractions --version 1.0.0
Quick Start
Define a Configuration Section
Implement the ISetting interface to define your configuration settings:
using Webion.Extensions.Configuration.Abstractions;
public class AppSettings : ISetting
{
public string Section => "App";
public string Environment { get; set; } = "Production";
public int MaxRetries { get; set; } = 5;
}
Generate Descriptions of Settings
Use the OptionsDescriptor utility to inspect and describe the settings:
Describe All Settings in an Assembly:
var descriptions = OptionsDescriptor.DescribeAssemblyContaining<AppSettings>();
foreach (var (key, value) in descriptions)
{
Console.WriteLine($"{key}: {value}");
}
// Example Output:
// App:Environment: Production
// App:MaxRetries: 5
Describe a Specific Settings Class:
var appDetails = OptionsDescriptor.Describe<AppSettings>();
foreach (var (key, value) in appDetails)
{
Console.WriteLine($"{key}: {value}");
}
// Example Output:
// App:Environment: Production
// App:MaxRetries: 5
Package Metadata
- Version:
1.0.0 - License: MIT
- Repository: GitHub Repository
Contributing
If you wish to contribute, feel free to open an issue or submit a pull request on the GitHub repository.
Developed and maintained by Webion SRL.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.