有没有办法为整个应用程序设置文化?所有当前线程和新线程?有没有办法为整个应用程序设置文化?所有当前线程和新线程?我们将文化的名称存储在数据库中,当我们的应用程序启动时,我们就会这样做CultureInfo ci = new CultureInfo(theCultureString);Thread.CurrentThread.CurrentCulture = ci;Thread.CurrentThread.CurrentUICulture = ci;但是,当然,当我们想要在新线程中做某事时,这会“丢失”。有没有办法设置CurrentCulture和CurrentUICulture整个应用程序?那么新线程也会获得这种文化?或者,只要创建了一个我可以连接的新线程,就会触发某个事件?
3 回答
回首忆惘然
TA贡献1847条经验 获得超11个赞
在.NET 4.5中,您可以使用该CultureInfo.DefaultThreadCurrentCulture
属性更改AppDomain的文化。
对于4.5之前的版本,您必须使用反射来操纵AppDomain的文化。在CultureInfo
(m_userDefaultCulture
在.NET 4.0 mscorlib中,s_userDefaultCulture
在.NET 4.0 mscorlib中)有一个私有静态字段,它控制CurrentCulture
在线程未在其自身上设置该属性时返回的内容。
这不会更改本机线程区域设置,并且发布以这种方式更改文化的代码可能不是一个好主意。但它可能对测试很有用。
- 3 回答
- 0 关注
- 554 浏览
添加回答
举报
0/150
提交
取消