首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FxCop CA1305: CurrentCulture与CurrentUICulture

FxCop CA1305: CurrentCulture与CurrentUICulture
EN

Stack Overflow用户
提问于 2011-07-23 04:43:09
回答 3查看 1.9K关注 0票数 3

因此,我有一些用于本地化的资源文件。它们是可以格式化的字符串。

例如:

代码语言:javascript
复制
MyResource.resx
 Title: "MyApp - Ver: {0}"

然后,我像这样返回它:

代码语言:javascript
复制
public String Title
{
    get { return String.Format(CultureInfo.CurrentUICulture, MyResources.Title, 1); }
}

我理解CurrentUICulture和CurrentCulture之间的区别,但是FxCop告诉我使用CurrentCulture?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-25 18:30:28

在某种程度上,FxCop是正确的:在这种情况下,您不应该使用CurrentUICulture。正如其他人已经说过的,CurrentCulture用于识别区域设置的格式,而CurrentUICulture用于从资源中读取可翻译的字符串。

为什么?你总是会看到类似1.9的东西,而不是像1.9这样的东西。因此,InvariantCulture是最好的选择。

微软甚至提供了特定的类来存储版本信息-奇怪的是,它的名字是Version (当然它在System命名空间中)。

票数 7
EN

Stack Overflow用户

发布于 2011-07-23 04:48:54

String.Format通常用于基于CurrentCulture而不是CurrentUICulture的数字或日期格式化。

票数 5
EN

Stack Overflow用户

发布于 2011-07-23 06:55:16

另一件事是,CurrentUICulture可以是中立的区域性,而CurrentCulture始终是特定的区域性。

XXXFormatInfo类型不适用于非特定区域性,并将引发NotSupportedException异常。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6795891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档