我有一些课程无法对使用的文化做出假设。这些类应始终使用CultureInfo.InvariantCulture
。但是,我无法将线程的当前文化设置为CultureInfo.InvariantCulture
,因为其他类依赖于<globalization culture="auto"
。有没有办法确保不使用隐式文化设置?
有没有办法确保一些类总是使用显式培养方法调用(如:Convert.ToDecimal(value, CultureInfo.InvariantCulture)
)而不是假定的文化(如:Convert.ToDecimal(value)
)。
也许我的问题它不是100%清楚:我想检测所有使用CultureInfo的重载的方法,但也有一个没有使用CurrentCulture的CultureInfo的方法。
这包括数字隐式转换为字符串:
decimal value = 1.0;
string displayThis = string.Format("Costs: {0}", value);
我们的目标是确保一些类/方法不承担有关的CultureInfo什么。
据说我应该用FxCop来解决这个问题。有关于此的任何提示?
也许你可以创建自定义的FxCop规则。 – CodesInChaos 2011-03-24 12:40:42
Convert.ToDecimal不是问题。使用一些CultureInfo-class的所有其他方法(间接)都是问题。而FxCop或CodeAnalysis可能是解决方案... – doekman 2011-03-24 13:15:28