我想我在使用私有(private)只读变量时发现了误报。 在下面的示例中,我收到一条警告:删除“_a”字段并在相关方法中将其声明为局部变量。 S1450
public class MyClass : MyBaseClass
{
private readonly string _a;
public MyClass(string a)
{
_a = a;
}
public override string ToMyString(){
var test = new MyNewClass(_a);
return test.MyValue();
}
}
(ToMyString 实际上比我上面的例子复杂很多)
我是不是做错了什么或者这是误报?
我在 VS 2017 RC3 上使用 C# .Net Core 和 SonarAnalyzer.CSharp 1.22.0-RC1
最佳答案
我明天会进行更多测试,但目前我无法重现该问题。这是我正在使用的测试代码(基于您的部分示例)。你能告诉我这段代码是否引发了这个问题吗?如果没有,您能否提供完整的重现案例?
public class MyClass : MyBaseClass
{
private readonly string _a;
public MyClass(string a)
{
_a = a;
}
public override string ToMyString()
{
var test = new MyNewClass(_a);
return test.MyValue();
}
}
class MyNewClass
{
private readonly string _a;
public MyNewClass(string _a)
{
this._a = _a;
}
public string MyValue() { return _a; }
}
关于c# - VS 2017 RC C# 的 SonarQube 误报 S1450,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41967564/