sonarlint предупреждение о параметрах в выражении-переключателе с неиспользованными кортежами - PullRequest
1 голос
/ 30 апреля 2020

У меня странная проблема, связанная с тем, что sonarlint (расширение Visual Studio) не идентифицирует параметры метода как используемые, если они используются в кортеже выражения switch (новая функция c# 8). Вот фрагмент кода для демонстрации:

private bool Xor(bool A, bool B) 
{ 
    return (A, B) switch
    {
        (false, false) => false,
        (true, false) => true,
        (false, true) => true,
        (true, true) => false,
    };
}

Если я скомпилирую этот код, я получаю следующий запах кода:

"Удалите этот параметр 'A', значение которого равно игнорируется в методе "для обоих параметров

Но метод явно работает как задумано. Как ни странно, это происходит только с закрытым методом

Я что-то не так делаю? Или это неожиданное поведение?

...