2012-04-07 22 views
2

我正在使用CurrentUICulture進行本地化。這很有效,直到在不同的線程中查詢UI文化。 所以我的問題是如何解決CurrentUICulture,以便它也修復時,我創建一個新的線程。如何在創建線程時修復CurrentUICulture

目前我在應用程序啓動的第一行中設置了Thread.CurrentThread.CurrentUICulture

感謝

+0

如何以及何時創建'不同'線程? – 2012-04-07 14:14:43

+0

這是由於完成異步Web服務調用。但我正在尋找一種解決方案,我不需要每次都設置CurrentUICulture ... – BitKFu 2012-04-07 14:16:44

+1

不確定您是否看過[此問題](http://social.msdn.microsoft.com/論壇/ en/netfxbcl /線程/ 39ab12ba-283e-4f82-945a-18f30d1366b0)已經,但答案可能是,無法爲所有子線程設置它。 – R0MANARMY 2012-04-07 14:26:11

回答

2

CurrentUICulture僅用於加載資源相關的,所以應該通常只此事向GUI線程。

當你需要它在另一個線程上(我假設加載StringTable資源),那麼這可能是一個跡象表明你的主體系結構有問題。它通常不應該發生。

但是如果你確實需要它,應該可以用一些靜態變量來保存你的CultureInfo和/或資源塊。

+0

謝謝Henk。問題是,我正在實現一個故障處理,我通過web服務調用來定位錯誤消息。所以我在另一個線程中確定,我不想每次都設置UI文化。但我想我無法繞過... – BitKFu 2012-04-07 14:33:41