因此,我有一些用于本地化的资源文件。它们是可以格式化的字符串。
例如:
MyResource.resx
Title: "MyApp - Ver: {0}"然后,我像这样返回它:
public String Title
{
get { return String.Format(CultureInfo.CurrentUICulture, MyResources.Title, 1); }
}我理解CurrentUICulture和CurrentCulture之间的区别,但是FxCop告诉我使用CurrentCulture?
发布于 2011-07-25 18:30:28
在某种程度上,FxCop是正确的:在这种情况下,您不应该使用CurrentUICulture。正如其他人已经说过的,CurrentCulture用于识别区域设置的格式,而CurrentUICulture用于从资源中读取可翻译的字符串。
为什么?你总是会看到类似1.9的东西,而不是像1.9这样的东西。因此,InvariantCulture是最好的选择。
微软甚至提供了特定的类来存储版本信息-奇怪的是,它的名字是Version (当然它在System命名空间中)。
发布于 2011-07-23 04:48:54
String.Format通常用于基于CurrentCulture而不是CurrentUICulture的数字或日期格式化。
发布于 2011-07-23 06:55:16
另一件事是,CurrentUICulture可以是中立的区域性,而CurrentCulture始终是特定的区域性。
XXXFormatInfo类型不适用于非特定区域性,并将引发NotSupportedException异常。
https://stackoverflow.com/questions/6795891
复制相似问题