Fetching contributors…
Cannot retrieve contributors at this time
52 lines (37 sloc) 1.14 KB


TypeName SA1411AttributeConstructorMustNotUseUnnecessaryParenthesis
CheckId SA1411
Category Maintainability Rules


An attribute declaration does not contain any parameters, yet it still includes parenthesis.

Rule description

When an attribute declaration does not contain any parameters, the parenthesis around the parameters are optional.

A violation of this rule occurs when unnecessary parenthesis have been used in an attribute constructor. For example:


The parenthesis are unnecessary and should be removed:


How to fix violations

Remove the unnecessary parenthesis.

How to suppress violations

[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1411:AttributeConstructorMustNotUseUnnecessaryParenthesis", Justification = "Reviewed.")]
#pragma warning disable SA1411 // AttributeConstructorMustNotUseUnnecessaryParenthesis
#pragma warning restore SA1411 // AttributeConstructorMustNotUseUnnecessaryParenthesis