2016-12-05 78 views
0

作爲C#的新手,我在理解代表以及如何在其中流動文檔時遇到了一些問題。爲異步委託設置cultureInfo

我有一個代碼片段看起來與此類似:

await DoSomething(param1, param2, 
    async() = { 
     result = someotherfunc(someinput); 
    }); 

現在,我需要返回根據用戶的語言環境的結果,爲此我需要設置的CultureInfo爲正在運行的線程(可通過設置適當的文化來設置Thread.CurrentThread.CurrentCulture

但是,我不確定是在哪裏設置這個CurrentCulture變量?它應該在代表的定義中嗎?

此外,我不知道當這個委託執行時是否會有一個新的線程。

謝謝。

回答

0

每個線程都有自己的文化,如果沒有從系統文化明確定義的話。

對於在所有線程中具有相同的文化,您可以使用CultureInfo.DefaultThreadCurrentCulture Property爲所有線程設置默認文化。

如果您需要針對不同代表的不同文化,請使用與顯示/打印值相同的方法更改Thread.CurrentThread.CurrentCulture

+0

我可以簡單地在異步代表體內設置文化嗎? – pankaj

+0

如果在那裏發生格式化值的創建,則可以 – Fabio