有沒有辦法為整個應(yīng)用程序設(shè)置文化?所有當前線程和新線程?有沒有辦法為整個應(yīng)用程序設(shè)置文化?所有當前線程和新線程?我們將文化的名稱存儲在數(shù)據(jù)庫中,當我們的應(yīng)用程序啟動時,我們就會這樣做CultureInfo ci = new CultureInfo(theCultureString);Thread.CurrentThread.CurrentCulture = ci;Thread.CurrentThread.CurrentUICulture = ci;但是,當然,當我們想要在新線程中做某事時,這會“丟失”。有沒有辦法設(shè)置CurrentCulture和CurrentUICulture整個應(yīng)用程序?那么新線程也會獲得這種文化?或者,只要創(chuàng)建了一個我可以連接的新線程,就會觸發(fā)某個事件?
3 回答

回首憶惘然
TA貢獻1847條經(jīng)驗 獲得超11個贊
在.NET 4.5中,您可以使用該CultureInfo.DefaultThreadCurrentCulture
屬性更改AppDomain的文化。
對于4.5之前的版本,您必須使用反射來操縱AppDomain的文化。在CultureInfo
(m_userDefaultCulture
在.NET 4.0 mscorlib中,s_userDefaultCulture
在.NET 4.0 mscorlib中)有一個私有靜態(tài)字段,它控制CurrentCulture
在線程未在其自身上設(shè)置該屬性時返回的內(nèi)容。
這不會更改本機線程區(qū)域設(shè)置,并且發(fā)布以這種方式更改文化的代碼可能不是一個好主意。但它可能對測試很有用。
- 3 回答
- 0 關(guān)注
- 577 瀏覽
添加回答
舉報
0/150
提交
取消