Skip to content

phema-team/Phema.Configuration

Repository files navigation

Phema.Configuration

Build Status Nuget

C# strongly typed IConfiguration wrapper

Installation

$> dotnet add package Phema.Configuration

Usage (or check for examples)

[Configuration]
public class RootConfiguration
{
  public InnerConfiguration Inner { get; set; }
}

[Configuration]
public class InnerConfiguration
{
}

// Add
var configuration = services.AddConfiguration<RootConfiguration>(Configuration);

// Get or inject with DI
var root = provider.GetRequiredService<IOptions<RootConfiguration>>().Value;
var inner = provider.GetRequiredService<IOptions<InnerConfiguration>>().Value;

Tips

  • To add configuration call AddConfiguration<T> on IServiceCollection
  • Mark all your configuration parts with ConfigurationAttribute to inclute in configuration tree
  • ConfigurationAttribute works both on type and property declaration
  • All configuration parts adds to IServiceCollection recursively. You can resolve them in app calling IServiceProvider or inject using DI

Releases

No releases published

Packages

No packages published

Languages