S3254 — Default parameter values should not be passed as arguments

Language
C#
Type
Code smell
Severity
Minor
Tags
finding, clumsy

Why is this an issue?

Specifying the default parameter values in a method call is redundant. Such values should be omitted in the interests of readability.

Noncompliant code example


public void M(int x, int y=5, int z = 7) { /* ... */ }

// ...
M(1, 5); // Noncompliant, y has the default value
M(1, z: 7); // Noncompliant, z has the default value

Compliant solution


public void M(int x, int y=5, int z = 7) { /* ... */ }

// ...
M(1);
M(1);

↑ Back to top