FaustVX.PrimaryParameter.SG
0.3.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package FaustVX.PrimaryParameter.SG --version 0.3.0
NuGet\Install-Package FaustVX.PrimaryParameter.SG -Version 0.3.0
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="FaustVX.PrimaryParameter.SG" Version="0.3.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FaustVX.PrimaryParameter.SG --version 0.3.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FaustVX.PrimaryParameter.SG, 0.3.0"
#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.
// Install FaustVX.PrimaryParameter.SG as a Cake Addin
#addin nuget:?package=FaustVX.PrimaryParameter.SG&version=0.3.0
// Install FaustVX.PrimaryParameter.SG as a Cake Tool
#tool nuget:?package=FaustVX.PrimaryParameter.SG&version=0.3.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Primary Parameter
Using a Field
or Property
attributes on parameters.
Automaticaly generate private readonly
fields or private
property.
Forbid the use of primary constructor's parameters.
Usage
partial class C([Field(Name = "_a"), Field, [Property(WithInit = true)]]int i) // type must be partial, but can be class / struct
{
// private readonly int _a = i; // generated field
// private readonly int _i = i; // generated field
// private int { get; init; } = i; // generated Property
public void M0()
{
i++; // error on usage of i
Console.WriteLine(i); // error on usage of i
}
public void M1()
{
var i = 0;
i++; // don't error on usage of locals
Console.WriteLine(_i); // automaticaly created readonly field
Console.WriteLine(_a); // automaticaly created readonly field based on Name property
Console.WriteLine(I); // automaticaly created readonly property
}
}
To eneble the feaure, type [Field]
or [Property]
before the primary parameter you want.
You can type as many attributes as you want on a single parameter.
Field
: attribute haveName
: property to modify the generated field name
Property
: attribute haveName
: property to modify the generated property nameWithInit
: to generate theinit
accessor along theget
Versions
Version | Date | Comments |
---|---|---|
v0.3.0 | 20/04/2023 | Added Property attribute |
v0.2.0 | 20/04/2023 | Support for Name fields and multiple Field |
v0.1.0 | 19/04/2023 | Initial release |
There are no supported framework assets in this package.
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- IndexRange (>= 1.0.2)
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.3.3 | 251 | 12/1/2023 |
1.3.2 | 148 | 11/19/2023 |
1.3.1 | 99 | 11/19/2023 |
1.3.0 | 82 | 11/19/2023 |
1.2.0 | 227 | 8/24/2023 |
1.1.0 | 210 | 8/15/2023 |
1.0.0 | 124 | 7/31/2023 |
0.4.7 | 128 | 7/16/2023 |
0.4.6.1 | 125 | 7/16/2023 |
0.4.6 | 120 | 7/16/2023 |
0.4.5 | 117 | 5/17/2023 |
0.4.4 | 150 | 4/27/2023 |
0.4.3 | 149 | 4/27/2023 |
0.4.2 | 148 | 4/26/2023 |
0.4.1 | 150 | 4/25/2023 |
0.4.0 | 159 | 4/22/2023 |
0.3.1 | 155 | 4/20/2023 |
0.3.0 | 159 | 4/20/2023 |
0.2.0 | 152 | 4/20/2023 |
0.1.0 | 162 | 4/19/2023 |