Table of Contents

RbaServiceCollectionExtensions Class

Definition

Namespace
Bodu.Financial.ExchangeRates
Assembly
Bodu.Financial.ExchangeRates.Rba.dll
Package
Bodu.Financial.ExchangeRates.Rba 0.7.1
Source
RbaServiceCollectionExtensions.cs

Provides a one-call entry point that registers the core Bodu.Financial services together with the RBA historical exchange-rate provider.

public static class RbaServiceCollectionExtensions
Inheritance
RbaServiceCollectionExtensions
Inherited Members

Methods

AddRbaExchangeRates(IServiceCollection, IConfiguration?, string, Action<RbaRateProviderOptions>?)

Registers the core Bodu.Financial services and the RBA historical exchange-rate provider.

public static IFinancialServiceBuilder AddRbaExchangeRates(this IServiceCollection services, IConfiguration? configuration = null, string sectionName = "Financial:Rba", Action<RbaRateProviderOptions>? configure = null)

Parameters

services IServiceCollection

The service collection to register into.

configuration IConfiguration

An optional configuration root. When supplied, FinancialOptions is bound from the Financial section and RbaRateProviderOptions from sectionName.

sectionName string

The RBA configuration section name. Defaults to Financial:Rba.

configure Action<RbaRateProviderOptions>

An optional callback applied after RBA configuration binding.

Returns

IFinancialServiceBuilder

An IFinancialServiceBuilder for further composition.

Examples

IServiceCollection services = new ServiceCollection();

services.AddRbaExchangeRates(configuration, configure: options =>
{
    options.EnableDiskCache = true;
    options.AllowSynchronousNetworkAccess = false;
});

// Resolve the provider (or IRateProvider / IDatedRateProvider) from the container.
using ServiceProvider provider = services.BuildServiceProvider();
var rba = provider.GetRequiredService<RbaRateProvider>();

Exceptions

ArgumentNullException

Thrown when services is null.

ArgumentException

Thrown when sectionName is empty or white space.

Applies to

ProductVersions
.NET8, 10