繁体   English   中英

在C#的多线程环境中使用ResourceManager的正确方法?

[英]Correct way to use ResourceManager in a multi-threaded environment in C#?

因此,我目前将ResourceManager的实例保存在解决方案中所有类均可访问的静态变量中。 我已经使用它来获取单线程操作的翻译内容,并且效果很好。

但是,然后我添加了一个需要花费更长的时间才能执行的操作,并且需要更新UI中的进度。 对于进度信息字符串,我还使用ResourceManager。 事实是,如果在单独的线程上执行,则相同的确切代码行将返回null(例如,Localization.ResourceManager.GetString(“ ProgressInformation1”))。 但是,如果我不为其触发新线程,它将按预期返回字符串。 我检查了MSDN库,根据它,ResourceManager应该是线程安全的。 那我在做什么错?

也许您需要为运行的线程指定CurrentCulture和CurrentUICulture。 只需使用“主”线程中的线程即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM