Анализатор обнаружил подозрительную передачу аргументов в метод. Возможно некоторые аргументы перепутаны местами.
Пример подозрительного кода:
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);
....
}
Во время задания цвета объекта, перепутали синий и зелёный цвет.
Исправленный вариант кода должен выглядеть следующим образом:
SetARGB(A, R, G, B);
Рассмотри более сложный пример опечатки из реального проекта:
public virtual string Qualify(string catalog,
string schema,
string table)
{ .... }
public Table AddDenormalizedTable(....) {
string key = subselect ??
dialect.Qualify(schema, catalog, name);
....
}
Согласно логике, можем предположить, что код должен выглядеть следующим образом:
public Table AddDenormalizedTable(....) {
string key = subselect ??
dialect.Qualify(catalog, schema, name);
....
}
Данная диагностика классифицируется как:
Взгляните на примеры ошибок, обнаруженных с помощью диагностики V3066. |