我想知道为什么代码分析规则CA1305 - Specify IFormatProvider对TryParse方法不起作用?
例如,使用“Microsoft All Rules”规则集,代码分析会针对以下代码提供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规则是在某些较新版本的代码分析工具中实现还是由某些第三方实现?
答案 0 :(得分:0)
此后,FxCop以及SonarLint等最近的工具已修复此问题。