MagicBuilder 1.0.2
dotnet add package MagicBuilder --version 1.0.2
NuGet\Install-Package MagicBuilder -Version 1.0.2
<PackageReference Include="MagicBuilder" Version="1.0.2" />
<PackageVersion Include="MagicBuilder" Version="1.0.2" />
<PackageReference Include="MagicBuilder" />
paket add MagicBuilder --version 1.0.2
#r "nuget: MagicBuilder, 1.0.2"
#addin nuget:?package=MagicBuilder&version=1.0.2
#tool nuget:?package=MagicBuilder&version=1.0.2
MagicBuilder
MagicBuilder is a lightweight and powerful .NET library that simplifies the creation of builder objects using a fluent, customizable API.
Built on .NET Standard 2.0, it's compatible with:
- .NET Core: 2.0, 2.1, 3.0, 3.1
- .NET: 5, 6, 7, 8, 9, 10
- Any other platform supporting .NET Standard 2.0
Features
- ✨ Fluent API
- ⚙️ Source generator
- 🚀 No reflection
Installation
To install MagicBuilder, you can use the NuGet Package Manager:
PM> Install-Package MagicBuilder
Usage
Here is a simple example of how to use MagicBuilder:
Considering Person
to generate a builder:
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
- Instructs the generator to create a builder for the current assembly:
[assembly: GenerateBuilder(typeof(Person))]
- Then, you can use the generated builder like this:
var person = Builder.Create<Person>()
.WithAge(21)
.WithName("name")
.Build();
Behind the scenes extension method's like this are generated:
// <auto-generated/>
using System;
namespace MagicBuilder {
public static class PersonBuilderExtensions {
public static Builder<Person> WithName(this Builder<Person> builder, string value)
=> builder.Apply(obj => obj.Name = value);
public static Builder<Person> WithAge(this Builder<Person> builder, int value)
=> builder.Apply(obj => obj.Age = value);
}
It supports: class
's, record
's, and struct
's.
Contributing
We welcome contributions to MagicBuilder! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.
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. |
.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
- Microsoft.CodeAnalysis.CSharp (>= 4.8.0)
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 |
---|---|---|
1.0.2 | 76 | 4/5/2025 |
0.0.0-gbf58564002 | 79 | 4/5/2025 |