Catch调用decimal.编译时的ToString

本文关键字:ToString 编译 调用 decimal Catch | 更新日期: 2023-09-27 18:04:55

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

有什么诀窍吗?比如超载ToString而使用ObsoleteAttribute ?

我可以通过像这样的代码每周运行一次扫描(通过反射),或者安装和配置一些带有静态代码检查的程序。但是这个问题是关于编译时间的。

这样做的原因是decimal.ToString是文化意识,这在我的情况下可能是麻烦;例如,如果有人在本地化的服务器上安装解决方案,输出可能会发生变化。
我们有一个规则,不叫decimal.ToString而不叫CultureInvariant,但这并不总是需要的。

Catch调用decimal.编译时的ToString

微软的代码分析规则可以设置为注意各种与文化相关的字符串创建问题,包括string.Format()和字符串插值的使用。您可以将这些规则的严重性设置为"错误"级别,然后将项目设置为每当违反这些规则时构建失败。