FxCop 'Specify IFormat Provider' 是不是应该捕获 Int32.TryParse 违规?

Posted

技术标签:

【中文标题】FxCop \'Specify IFormat Provider\' 是不是应该捕获 Int32.TryParse 违规?【英文标题】:Should FxCop 'Specify IFormat Provider' catch Int32.TryParse violations?FxCop 'Specify IFormat Provider' 是否应该捕获 Int32.TryParse 违规? 【发布时间】:2009-08-24 23:03:25 【问题描述】:

FxCop 全球化规则“指定 IFormat 提供程序”没有为我捕获 Int32.TryParse 违规。这是一个错误,还是我做错了什么?

【问题讨论】:

【参考方案1】:

很可能是因为没有附加选项的 Int32.TryParse 将拒绝解析包含分组分隔符或小数分隔符的字符串:

Int32.TryParse("1.234", out temp);  // => false
Int32.TryParse("1,234", out temp);  // => false
Int32.TryParse("1234", out temp);   // => true, temp = 1234

所以 Int32.TryParse 可能不被 FxCop 视为文化敏感的。

【讨论】:

谢谢,我没有意识到 Int32.TryParse("0.0", out temp); //=> 错误

以上是关于FxCop 'Specify IFormat Provider' 是不是应该捕获 Int32.TryParse 违规?的主要内容,如果未能解决你的问题,请参考以下文章

ffmpeg 检查demux codec

将自定义 Fxcop 规则与现有 Fxcop 规则集成

忽略某些特定情况的内置 FxCop 规则。自定义 FxCop 规则?

Fxcop 自定义规则未显示在 Fxcop GUI 中

Fxcop 错误,返回代码为“2048”

如何在 VS2010 Professional 中配置 FxCop 规则并使用 FxCop Runner 运行它