我用C#編寫的應用程序沒有GUI或UI,而是寫入由另一個應用程序(以XML和其他應用程序)解析的文件。是否可以爲.NET應用程序或只是一個線程設置CultureInfo?
我有一位客戶,其CultureInfo將NumberDecimalSeparator設置爲逗號,這會導致浮點數字的分析錯誤(PI最終會變爲3,1415)。
我想要一種方法來在應用程序中爲所有線程全局設置CultureInfo。我已經試過:
- 設置CurrentThread.CurrentCulture在的Main()第一線的(顯然)習慣性的做法,但它似乎被重置。
- http://www.codeproject.com/KB/cs/Change_App_Culture.aspx
- 的變化/擴展對應用程序中顯式創建的線程執行相同的操作(#1)。
而改爲使用顯式格式不是一種選擇(150K +行,大部分由前員工編寫)。
[編輯] 該應用程序綁定到套接字並處理來自專用客戶端的請求。根據請求類型,它產生不同的處理程序類。
對不起,當我第一次發佈時,我應該在#1中澄清,(我雖然)我已經在所有明確產生的處理程序中完成了此操作。
事實證明,我錯過了導致問題的線程/處理程序。因此,應用程序現在正常工作,但問題仍然存在,如果文化可以在所有線程上設置。
如果它可以迭代所有線程,它也可以解決問題。所以:
我怎樣才能在當前進程得到所有主題對象(不ProcessThread)?
幫助僅當您在創建線程的控制是。有時你必須處理由.NET創建的線程。人們不應該忘記聖行**'System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(「EN-US」); ** – Bitterblue 2014-02-07 12:34:30