Visual Studio 2010代码分析CA1305(指定IFormatProvider)规则不适用于TryParse方法

Sti*_*ipo 7 code-analysis tryparse iformatprovider

我想知道为什么代码分析规则CA1305 - 指定IFormatProvider不适用于TryParse方法?

例如,使用"Microsoft All Rules"规则集,代码分析会针对以下代码提供CA1305警告:

static void Main(string[] args)
{
    string text = args[0];

    double value = double.Parse(text);
}
Run Code Online (Sandbox Code Playgroud)

但是没有给出以下代码的CA1305警告:

static void Main(string[] args)
{
    string text = args[0];

    double value;
    if (!double.TryParse(text, out value))
        value = 0;
}
Run Code Online (Sandbox Code Playgroud)

我发现这非常不幸,因为如果输入字符串不可靠,TryParse方法是解析的正确方法.

有谁知道TryParse方法的CA1305规则是在某些较新版本的代码分析工具中实现还是由某些第三方实现?

jes*_*ing 0

此后,该问题已在 FxCop 以及 SonarLint 等最新工具中得到修复。