关于sonarlint(Visual Studio扩展),如果在开关表达式的元组(新的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',这两个参数的值在方法中均被忽略”
但是该方法显然可以按预期工作。奇怪的是,这仅在使用私有方法时发生
我做错什么了吗?还是这是意外行为?