在编译时捕获对decimal.ToString的调用

时间:2016-08-31 21:22:33

标签: c# .net reflection

我想在我的解决方案中捕获所有对decimal.ToString()的调用。 在编译时。(标记为“原始”的问题是关于运行时解决方案)

这有什么诀窍吗?比如重载ToString并使用ObsoleteAttribute

我可以通过像this这样的代码解析每周一次运行扫描(通过反射),或者使用静态代码检查来安装和配置某种程序。但这个问题与编译时间有关。

原因是decimal.ToString具有文化意识,在我的情况下可能会遇到麻烦;即如果有人在本地化服务器上​​安装解决方案,输出可能会改变 我们有一条规则是在decimal.ToString没有CultureInvariant的情况下调用PdfStamper,但并不总是需要注意。

1 个答案:

答案 0 :(得分:4)

Microsoft的Code Analysis规则可以设置为注意各种与文化相关的字符串创建问题,包括使用string.Format()和字符串插值。您可以将这些规则的严重性设置为“错误”级别,然后将项目设置为在违反构建时使构建失败。