我从规则csharpsquid得到误报:S1172 - “应删除未使用的方法参数”以获取以下代码:
public class ExampleConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
return null;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
}
Convert和ConvertBack都是IMultiValueConverter实现的一部分,规则声明“虚拟,覆盖方法和接口实现被忽略”。但是,在这种情况下,它会触发Convert和ConvertBack中的每个参数。
这是规则的错误,还是我可能错误地设置了某些内容?
答案 0 :(得分:3)
目前,C#插件分别对每个文件进行分析,并且仅使用mscorlib added as a reference。 POST
在PresentationFramework.dll中定义,它没有添加到编译中包含的引用中,因此编译器无法找到它,也无法知道这两种方法是否属于那个界面。
您不会遇到与SonarLint for Visual Studio相同的问题,因为它使用了所有引用。 (但这只适用于开发人员机器。)我们目前正在努力将同样准确的信息提供给SonarQube平台。