SourceKit.Generators.Builder
1.2.51
Prefix Reserved
dotnet add package SourceKit.Generators.Builder --version 1.2.51
NuGet\Install-Package SourceKit.Generators.Builder -Version 1.2.51
<PackageReference Include="SourceKit.Generators.Builder" Version="1.2.51" />
<PackageVersion Include="SourceKit.Generators.Builder" Version="1.2.51" />
<PackageReference Include="SourceKit.Generators.Builder" />
paket add SourceKit.Generators.Builder --version 1.2.51
#r "nuget: SourceKit.Generators.Builder, 1.2.51"
#:package SourceKit.Generators.Builder@1.2.51
#addin nuget:?package=SourceKit.Generators.Builder&version=1.2.51
#tool nuget:?package=SourceKit.Generators.Builder&version=1.2.51
SourceKit.Generators.Builder
Use [GenerateBuilder] attribute to generate builder.
- Only
recordorrecord structtypes are supported - Builder is a nested class
Builder - For collection properties field of type
List<>will be generated - For collection properties, methods
With{PropName}andWith{PropName}swill be generated - If collection element type is
IComparableorIComparable<TSelf>the.DistinctLINQ method would be called on.Buildmethod - If collection property is
List<>orHashSet<>then it will be converted to this collection respectively, otherwise,ToArraymethod 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));
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- FluentChaining (>= 1.0.4)
- Humanizer.Core (>= 2.14.1)
- Humanizer.Core.uk (>= 2.14.1)
- Microsoft.CodeAnalysis.Common (>= 4.9.2)
- Microsoft.CodeAnalysis.CSharp (>= 4.9.2)
- Microsoft.CodeAnalysis.Workspaces.Common (>= 4.9.2)
- Microsoft.Extensions.DependencyInjection (>= 3.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.0.0)
- SourceKit (>= 1.1.51)
- SourceKit.Generators.Builder.Annotations (>= 1.1.51)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on SourceKit.Generators.Builder:
| Package | Downloads |
|---|---|
|
Itmo.Dev.Platform.BackgroundTasks
Package Description |
|
|
Itmo.Dev.Platform.MessagePersistence
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2.51 | 112 | 12/20/2025 |
| 1.2.50 | 1,371 | 5/16/2025 |
| 1.2.49 | 496 | 1/13/2025 |
| 1.2.48 | 163 | 1/13/2025 |
| 1.2.47 | 169 | 1/12/2025 |
| 1.2.46 | 186 | 1/12/2025 |
| 1.2.45 | 627 | 12/15/2024 |
| 1.2.44 | 384 | 12/15/2024 |
| 1.2.43 | 178 | 12/15/2024 |
| 1.2.42 | 172 | 12/15/2024 |
| 1.2.41 | 203 | 12/15/2024 |
| 1.2.40 | 190 | 12/15/2024 |
| 1.2.37 | 200 | 12/14/2024 |
| 1.2.36 | 674 | 11/18/2024 |
| 1.2.35 | 268 | 10/11/2024 |
| 1.2.34 | 318 | 5/4/2024 |
| 1.2.33 | 195 | 5/1/2024 |
| 1.2.31 | 236 | 4/27/2024 |
| 1.2.30 | 280 | 4/6/2024 |
| 1.1.29 | 244 | 4/3/2024 |
| 1.1.27 | 237 | 4/3/2024 |
| 1.1.26 | 226 | 4/3/2024 |
| 1.1.24 | 7,224 | 12/19/2023 |
| 1.1.23 | 295 | 12/6/2023 |
| 1.1.22 | 442 | 11/22/2023 |
| 1.1.21 | 698 | 11/11/2023 |
| 1.1.20 | 159 | 11/11/2023 |
| 1.1.19 | 235 | 11/11/2023 |
| 1.1.18 | 186 | 11/11/2023 |
| 1.1.16 | 166 | 11/11/2023 |
| 1.1.15 | 204 | 11/11/2023 |
| 1.1.14 | 210 | 11/11/2023 |
| 1.1.13 | 222 | 11/11/2023 |
| 1.1.11 | 175 | 11/11/2023 |
| 1.1.10 | 277 | 9/16/2023 |
| 1.1.4 | 350 | 9/10/2023 |
| 1.0.4 | 1,718 | 6/11/2023 |
| 1.0.3 | 276 | 6/10/2023 |
| 1.0.2 | 249 | 6/10/2023 |
| 1.0.1 | 487 | 5/14/2023 |
| 1.0.0 | 371 | 5/13/2023 |
Added default values support