BL0001: Component parameter should have public setters
Value | |
---|---|
Rule ID | BL0001 |
Category | Usage |
Fix is breaking or non-breaking | Breaking |
Cause
A property on a type deriving from ComponentBase annotated with [Parameter]
has a missing or non-public setters.
Rule description
Component parameters are required to have publicly accessible setters to allow the framework to assign values. All of the parameter declarations in the following example result in this diagnostic.
@code
{
[Parameter] int Parameter1 { get; set; }
[Parameter] public int Parameter2 { get; }
[Parameter] public int Parameter3 { get; private set; }
}
How to fix violations
- Make the property and its setter public.
@code
{
[Parameter] public int Parameter1 { get; set; }
[Parameter] public int Parameter2 { get; set; }
[Parameter] public int Parameter3 { get; set; }
}
- If making the property non-public is not possible, consider implementing
SetParametersAsync
manually.
When to suppress warnings
Do not suppress a warning from this rule.
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
ASP.NET Core