2016-12-05 57 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