C# S1172上的误报-“;“应删除未使用的方法参数”;

C# S1172上的误报-“;“应删除未使用的方法参数”;,c#,sonarqube,sonar-runner,C#,Sonarqube,Sonar Runner,我从规则csharpsquid:S1172中得到了误报,对于以下代码,“应该删除未使用的方法参数”: public class ExampleConverter : IMultiValueConverter { public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { return null; } public

我从规则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中的每个参数激发

这是规则中的错误,还是我设置的不正确?

目前的C#plugin只对每个文件进行单独分析。
IMultiValueConverter
是在PresentationFramework.dll中定义的,它没有添加到要包含在编译中的引用中,因此编译器找不到它,也不知道这两个方法是该接口的一部分


您将不会面临相同的问题,因为它使用了所有引用。(但这只适用于开发人员机器。)我们目前正在努力将同样的准确信息提供给SonarQube平台。

感谢您的快速响应。我很高兴听到SonarQube即将实现这一功能——我急切地等待更新!作为一种解决方法,如果显式实现接口,那么SonarCube上的问题就会消失