FinancialServiceBuilderExtensions Class
Definition
- Assembly
- Bodu.Financial.DependencyInjection.dll
- Package
- Bodu.Financial.DependencyInjection 1.0.0
Provides the fluent registration surface for IFinancialServiceBuilder: currency lookup, named monetary contexts, and exchange-rate providers.
public static class FinancialServiceBuilderExtensions
- Inheritance
-
FinancialServiceBuilderExtensions
- Inherited Members
Remarks
IServiceCollection services = new ServiceCollection();
services.AddFinancialService(builder => builder
.AddCurrencyLookup<MyCurrencyLookup>()
.AddMonetaryContext("payroll", new MonetaryContext(CurrencyCode.EUR))
.AddExchangeRateProvider<MyRateProvider>());
Methods
AddCurrencyLookup<TLookup>(IFinancialServiceBuilder)
Replaces the registered ICurrencyLookup with TLookup.
public static IFinancialServiceBuilder AddCurrencyLookup<TLookup>(this IFinancialServiceBuilder builder) where TLookup : class, ICurrencyLookup
Parameters
builderIFinancialServiceBuilderThe builder.
Returns
- IFinancialServiceBuilder
The builder, for chaining.
Type Parameters
TLookupThe lookup implementation.
Exceptions
- ArgumentNullException
builderis null.
AddDatedExchangeRateProvider(IFinancialServiceBuilder, IDatedRateProvider)
Registers an IDatedRateProvider instance as a singleton.
public static IFinancialServiceBuilder AddDatedExchangeRateProvider(this IFinancialServiceBuilder builder, IDatedRateProvider provider)
Parameters
builderIFinancialServiceBuilderThe builder.
providerIDatedRateProviderThe provider instance.
Returns
- IFinancialServiceBuilder
The builder, for chaining.
Exceptions
- ArgumentNullException
builderorprovideris null.
AddDatedExchangeRateProvider<TProvider>(IFinancialServiceBuilder)
Registers an IDatedRateProvider implementation as a singleton.
public static IFinancialServiceBuilder AddDatedExchangeRateProvider<TProvider>(this IFinancialServiceBuilder builder) where TProvider : class, IDatedRateProvider
Parameters
builderIFinancialServiceBuilderThe builder.
Returns
- IFinancialServiceBuilder
The builder, for chaining.
Type Parameters
TProviderThe provider implementation.
Exceptions
- ArgumentNullException
builderis null.
AddExchangeRateProvider(IFinancialServiceBuilder, IRateProvider)
Registers an IRateProvider instance as a singleton.
public static IFinancialServiceBuilder AddExchangeRateProvider(this IFinancialServiceBuilder builder, IRateProvider provider)
Parameters
builderIFinancialServiceBuilderThe builder.
providerIRateProviderThe provider instance.
Returns
- IFinancialServiceBuilder
The builder, for chaining.
Exceptions
- ArgumentNullException
builderorprovideris null.
AddExchangeRateProvider<TProvider>(IFinancialServiceBuilder)
Registers an IRateProvider implementation as a singleton.
public static IFinancialServiceBuilder AddExchangeRateProvider<TProvider>(this IFinancialServiceBuilder builder) where TProvider : class, IRateProvider
Parameters
builderIFinancialServiceBuilderThe builder.
Returns
- IFinancialServiceBuilder
The builder, for chaining.
Type Parameters
TProviderThe provider implementation.
Exceptions
- ArgumentNullException
builderis null.
AddMonetaryContext(IFinancialServiceBuilder, string, MonetaryContext)
Registers a named MonetaryContext resolvable as a keyed singleton.
public static IFinancialServiceBuilder AddMonetaryContext(this IFinancialServiceBuilder builder, string name, MonetaryContext context)
Parameters
builderIFinancialServiceBuilderThe builder.
namestringThe key under which the context is registered.
contextMonetaryContextThe monetary context.
Returns
- IFinancialServiceBuilder
The builder, for chaining.
Exceptions
- ArgumentNullException
builderorcontextis null.- ArgumentException
nameis empty or white space.
Applies to
| Product | Versions |
|---|---|
| .NET | 8, 10 |