Dictionaryzer 0.0.20
dotnet add package Dictionaryzer --version 0.0.20
NuGet\Install-Package Dictionaryzer -Version 0.0.20
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Dictionaryzer" Version="0.0.20" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Dictionaryzer" Version="0.0.20" />
<PackageReference Include="Dictionaryzer" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Dictionaryzer --version 0.0.20
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Dictionaryzer, 0.0.20"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Dictionaryzer@0.0.20
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Dictionaryzer&version=0.0.20
#tool nuget:?package=Dictionaryzer&version=0.0.20
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Dictionaryzer
A C# source generator that converts IReadOnlyDictionary<string, string> to strongly-typed objects.
Installation
<PackageReference Include="Dictionaryzer" Version="1.0.0" />
Usage
1. Mark your class with [Dictionarize]
using Dictionaryzer;
[Dictionarize]
public partial class MyRecord
{
public string Name { get; set; }
public int Age { get; set; }
public MyEnum Status { get; set; }
}
public enum MyEnum { Active, Inactive }
2. Convert a dictionary
var dict = new Dictionary<string, string>
{
["Name"] = "Alice",
["Age"] = "30",
["Status"] = "Active",
};
var dictionaryzer = new Dictionaryzer.Dictionaryzer();
var record = dictionaryzer.ToMyRecord(dict, "");
Console.WriteLine(record.Name); // Alice
Console.WriteLine(record.Age); // 30
Console.WriteLine(record.Status); // Active
3. Nested objects and arrays
var dict = new Dictionary<string, string>
{
["Address.City"] = "Tokyo",
["Tags.1"] = "foo",
["Tags.2"] = "bar",
};
var obj = dictionaryzer.ToMyClass(dict, "");
4. Custom parse method
public class MyId
{
public int Value { get; set; }
[ParseMethod]
public static MyId Parse(string s) => new MyId { Value = int.Parse(s) };
}
5. Convert multiple records
var enumerator = records.Cast<IReadOnlyDictionary<string, string>>().GetEnumerator();
var results = dictionaryzer.ToRecords(typeof(MyRecord), enumerator);
Supported types
| Type | Method |
|---|---|
string |
ToString |
int |
ToInt32 |
long |
ToInt64 |
byte |
ToByte |
float |
ToSingle |
double |
ToDouble |
bool |
ToBoolean ("true" / "false" / "0") |
DateTime |
ToDateTime |
DateTimeOffset |
ToDateTimeOffset |
enum |
ToEnum<T> |
T? (nullable value type) |
ToNullable<T> |
T[] |
ToArray<T> |
List<T> |
ToList<T> |
Custom (via [ParseMethod]) |
generated |
License
MIT
| 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 was computed. 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 was computed. 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 was computed. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.0.20 | 114 | 6/15/2026 |
| 0.0.19 | 135 | 6/15/2026 |
| 0.0.18 | 105 | 6/15/2026 |
| 0.0.17 | 101 | 6/15/2026 |
| 0.0.16 | 116 | 6/15/2026 |
| 0.0.15 | 102 | 6/14/2026 |
| 0.0.14 | 104 | 6/13/2026 |
| 0.0.13 | 99 | 6/13/2026 |
| 0.0.12 | 105 | 6/13/2026 |
| 0.0.11 | 102 | 6/13/2026 |
| 0.0.10 | 108 | 6/12/2026 |
| 0.0.9 | 141 | 6/10/2026 |
| 0.0.8 | 114 | 6/10/2026 |
| 0.0.7 | 103 | 6/10/2026 |
| 0.0.6 | 100 | 6/10/2026 |
| 0.0.5 | 109 | 6/10/2026 |
| 0.0.4 | 109 | 6/9/2026 |
| 0.0.3 | 113 | 6/9/2026 |
| 0.0.2 | 103 | 6/9/2026 |
| 0.0.1 | 103 | 6/9/2026 |