【问题标题】:Visual Studio 2010 Code Analysis CA1305 (Specify IFormatProvider) rule doesn't work for TryParse methodsVisual Studio 2010 代码分析 CA1305(指定 IFormatProvider)规则不适用于 TryParse 方法
【发布时间】:2012-10-10 12:49:22
【问题描述】:

我想知道为什么代码分析规则 CA1305 - Specify 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 方实现的?

【问题讨论】:

标签: code-analysis tryparse iformatprovider


【解决方案1】:

此问题已在 FxCop 以及 SonarLint 等更新的工具中得到修复。

【讨论】:

    猜你喜欢
    • 2011-07-29
    • 2014-04-20
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多