ServiceCollectionExtensions Class
Definition
- Assembly
- Bodu.Financial.DependencyInjection.dll
- Package
- Bodu.Financial.DependencyInjection 1.0.0
Provides the AddFinancialService entry points that register the Bodu.Financial services into an
IServiceCollection and return a fluent IFinancialServiceBuilder.
public static class ServiceCollectionExtensions
- Inheritance
-
ServiceCollectionExtensions
- Inherited Members
Fields
DefaultConfigurationSection
The default IConfiguration section name bound into FinancialOptions.
public const string DefaultConfigurationSection = "Financial"
Field Value
Methods
AddFinancialService(IServiceCollection, IConfiguration?, string)
Registers the core financial services - an ICurrencyLookup singleton and the bound FinancialOptions - and returns a builder for further composition.
public static IFinancialServiceBuilder AddFinancialService(this IServiceCollection services, IConfiguration? configuration = null, string sectionName = "Financial")
Parameters
servicesIServiceCollectionThe service collection to register into.
configurationIConfigurationOptional configuration root or section. When supplied, the section named
sectionNameis bound into FinancialOptions.sectionNamestringThe configuration section name. Defaults to DefaultConfigurationSection.
Returns
- IFinancialServiceBuilder
An IFinancialServiceBuilder for further registration.
Remarks
No foreign-exchange provider is registered by default; supply one via
AddExchangeRateProvider<TProvider>(IFinancialServiceBuilder) or
its dated counterpart. JSON serialization is not registered here either - the financial
JsonSerializerOptions registration (AddFinancialJson) ships in the companion
Bodu.Financial.Serialization.Json package.
Exceptions
- ArgumentNullException
servicesis null.- ArgumentException
sectionNameis empty or white space.
AddFinancialService(IServiceCollection, Action<IFinancialServiceBuilder>)
Registers the core financial services and invokes configure for programmatic composition.
public static IFinancialServiceBuilder AddFinancialService(this IServiceCollection services, Action<IFinancialServiceBuilder> configure)
Parameters
servicesIServiceCollectionThe service collection to register into.
configureAction<IFinancialServiceBuilder>A callback invoked with the IFinancialServiceBuilder.
Returns
- IFinancialServiceBuilder
The same builder the callback received.
Remarks
IServiceCollection services = new ServiceCollection();
services.AddFinancialService(builder => builder
.AddCurrencyLookup<MyCurrencyLookup>()
.AddMonetaryContext("invoicing", new MonetaryContext(CurrencyCode.USD))
.AddDatedExchangeRateProvider<MyRateProvider>());
// Promote the configured lookup to the ambient default after the provider is built.
services.BuildServiceProvider().UseCurrencyResolution();
Exceptions
- ArgumentNullException
servicesorconfigureis null.
Applies to
| Product | Versions |
|---|---|
| .NET | 8, 10 |