The analyzer detected a suspicious sequence of arguments passed to a method. Perhaps, some arguments are misplaced.
An example of suspicious code:
void SetARGB(byte a, byte r, byte g, byte b)
{ .... }
void Foo(){
byte A = 0, R = 0, G = 0, B = 0;
....
SetARGB(A, R, B, G);
....
}
When defining the object color, the programmer accidentally swapped the blue and green color parameters.
The fixed version of the code should look like this:
SetARGB(A, R, G, B);
Here's an example from a real project:
public virtual string Qualify(string catalog,
string schema,
string table)
{ .... }
public Table AddDenormalizedTable(....) {
string key = subselect ??
dialect.Qualify(schema, catalog, name);
....
}
As logic suggests, the code should actually look like this:
public Table AddDenormalizedTable(....) {
string key = subselect ??
dialect.Qualify(catalog, schema, name);
....
}
This diagnostic is classified as:
You can look at examples of errors detected by the V3066 diagnostic. |