>
>
>
V6042. The expression is checked for co…


V6042. The expression is checked for compatibility with type 'A', but is cast to type 'B'.

Анализатор обнаружил потенциально возможную ошибку, связанную с проверкой выражения на принадлежность к одному типу и приведением этого выражения в блоке проверки к другому типу.

Давайте рассмотрим данную ситуацию более подробно на примере:

if (a instanceof A) 
{
  return (B)a;
}

Скорее всего программист ошибся, так как подобное приведение типов с большой вероятностью приведет к ошибке, и вероятнее всего подразумевалась либо проверка выражения на принадлежность к другому типу, либо приведение выражения к другому типу.

Корректный вариант мог бы выглядеть так:

if (a instanceof B) 
{
  return (B)a;
}

Данная диагностика классифицируется как:

Взгляните на примеры ошибок, обнаруженных с помощью диагностики V6042.