SourceKit.Generators.Builder 1.2.58

Prefix Reserved
dotnet add package SourceKit.Generators.Builder --version 1.2.58
                    
NuGet\Install-Package SourceKit.Generators.Builder -Version 1.2.58
                    
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="SourceKit.Generators.Builder" Version="1.2.58" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SourceKit.Generators.Builder" Version="1.2.58" />
                    
Directory.Packages.props
<PackageReference Include="SourceKit.Generators.Builder" />
                    
Project file
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 SourceKit.Generators.Builder --version 1.2.58
                    
#r "nuget: SourceKit.Generators.Builder, 1.2.58"
                    
#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 SourceKit.Generators.Builder@1.2.58
                    
#: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=SourceKit.Generators.Builder&version=1.2.58
                    
Install as a Cake Addin
#tool nuget:?package=SourceKit.Generators.Builder&version=1.2.58
                    
Install as a Cake Tool

SourceKit.Generators.Builder

Use [GenerateBuilder] attribute to generate builder.

  • Only record or record struct types are supported
  • Builder is a nested class Builder
  • For collection properties field of type List<> will be generated
  • For collection properties, methods With{PropName} and With{PropName}s will be generated
  • If collection element type is IComparable or IComparable<TSelf> the .Distinct LINQ method would be called on .Build method
  • If collection property is List<> or HashSet<> then it will be converted to this collection respectively, otherwise, ToArray method will be called

You can use SomeType.Build() static method to shorthand create type instance using generated builder

[GenerateBuilder]
public partial record SomeQuery(IReadOnlyCollection<Guid> Ids, int Count = 10);

...

var query = SomeQuery.Build(x => x.WithCount(2).WithId(Guid.NewGuid());

Default values for record properties are supported

Required properties

You can annotate property with [RequiredValue] attribute to force compile time error when it is not initialized withing Build method of model.

[GenerateBuilder]
public partial record SomeQuery(long[] Ids, [RequiredValue] int PageSize);

The following code will produce an error.

var query = SomeQuery.Build(x => x.WithId(1));
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

NuGet packages (9)

Showing the top 5 NuGet packages that depend on SourceKit.Generators.Builder:

Package Downloads
Itmo.Dev.Platform.Kafka

Package Description

Itmo.Dev.Platform.BackgroundTasks

Package Description

Itmo.Dev.Platform.MessagePersistence

Package Description

Itmo.Dev.Platform.MessagePersistence.Postgres

Package Description

Itmo.Dev.Platform.BackgroundTasks.Postgres

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.2.58 203 4/2/2026
1.2.57 92 4/2/2026
1.2.56 147 3/28/2026
1.2.54 155 3/1/2026
1.2.53 112 2/28/2026
1.2.52 1,092 1/3/2026
1.2.51 224 12/20/2025
1.2.50 2,425 5/16/2025
1.2.49 560 1/13/2025
1.2.48 205 1/13/2025
1.2.47 216 1/12/2025
1.2.46 225 1/12/2025
1.2.45 796 12/15/2024
1.2.44 441 12/15/2024
1.2.43 219 12/15/2024
1.2.42 216 12/15/2024
1.2.41 240 12/15/2024
1.2.40 228 12/15/2024
1.2.37 247 12/14/2024
1.2.36 717 11/18/2024
Loading failed

Added default values support