Singulink.Globalization.Currency.DataProviders
1.0.0
Prefix Reserved
dotnet add package Singulink.Globalization.Currency.DataProviders --version 1.0.0
NuGet\Install-Package Singulink.Globalization.Currency.DataProviders -Version 1.0.0
<PackageReference Include="Singulink.Globalization.Currency.DataProviders" Version="1.0.0" />
<PackageVersion Include="Singulink.Globalization.Currency.DataProviders" Version="1.0.0" />
<PackageReference Include="Singulink.Globalization.Currency.DataProviders" />
paket add Singulink.Globalization.Currency.DataProviders --version 1.0.0
#r "nuget: Singulink.Globalization.Currency.DataProviders, 1.0.0"
#:package Singulink.Globalization.Currency.DataProviders@1.0.0
#addin nuget:?package=Singulink.Globalization.Currency.DataProviders&version=1.0.0
#tool nuget:?package=Singulink.Globalization.Currency.DataProviders&version=1.0.0
Singulink.Globalization.Currency.DataProviders
Singulink.Globalization.Currency.DataProviders contains the ICurrencyDataProvider interface and the entry types that currency data packages implement so that Singulink.Globalization.Currency can build currency registries from them.
This package is deliberately limited to the data provider abstraction. It exists as a separate package so that data packages such as Singulink.Globalization.Currency.Cldr do not depend on the main library. Updating to the latest data never pulls in a new version of the main library, and updating the main library never requires new data.
You do not normally need to reference this package directly. It is brought in as a dependency of the main library and of data packages.
Implementing a data provider
Implement ICurrencyDataProvider to provide currency data from somewhere other than a Singulink data package, for example from a database or a file that your application downloads at runtime:
public sealed class MyCurrencyDataProvider : ICurrencyDataProvider
{
public string Name => "My Data";
public string Version => "1.0";
public DateTime? ReleaseDate => null;
public IEnumerable<CurrencyDataEntry> GetCurrencies()
{
yield return new CurrencyDataEntry("USD", "US Dollar") { Symbol = "$" };
yield return new CurrencyDataEntry("CAD", "Canadian Dollar") { Symbol = "CA$", CashDecimalUnits = 5 };
yield return new CurrencyDataEntry("JPY", "Japanese Yen") { Symbol = "¥", DecimalDigits = 0 };
yield return new CurrencyDataEntry("XAU", "Gold") { Type = CurrencyTypes.CurrentNonTender };
}
public IEnumerable<CurrencyLocalizationEntry> GetLocalizations()
{
yield return new CurrencyLocalizationEntry("fr", "CAD") { Name = "dollar canadien", Symbol = "$CA" };
yield return new CurrencyLocalizationEntry("fr-CA", "CAD") { Symbol = "$" };
yield return new CurrencyLocalizationEntry("en-CA", "CAD") { Symbol = "$" };
}
}
CurrencyRegistry.SetDefaultProvider(new MyCurrencyDataProvider());
Localized values are resolved by walking up the locale chain (fr-CA, then fr, then the invariant values on the currency entry), so entries only need to be provided for locales that differ from their parent.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. 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 is compatible. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Singulink.Globalization.Currency.DataProviders:
| Package | Downloads |
|---|---|
|
Singulink.Globalization.Currency.Cldr
Unicode CLDR 48.2.0 currency data for Singulink.Globalization.Currency: every currency with localized names and symbols for all locales, rounding and cash rounding rules, and consistent behavior across all runtimes. The package version mirrors the CLDR version. |
|
|
Singulink.Globalization.Currency
High-performance and flexible currency support for .NET, done right 🎉 |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 102 | 9/29/2026 |