7

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

例如,使用“Microsoft 所有规则”规则集,代码分析会针对以下代码发出 CA1305 警告:

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

    double value = double.Parse(text);
}

但不针对以下代码给出 CA1305 警告:

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

    double value;
    if (!double.TryParse(text, out value))
        value = 0;
}

我发现这很不幸,因为如果输入字符串不可靠,TryParse 方法是进行解析的正确方法。

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

4

1 回答 1

0

这已在 FxCop 以及最近的工具(如 SonarLint)中得到修复。

于 2016-11-17T11:33:22.130 回答