为异步委托

时间:2016-12-05 11:11:14

标签: c# .net localization delegates

作为C#的新手,我在理解代表以及文化如何在那里流动时遇到了一些问题。

我有一个类似于此的代码段:

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

现在,我需要根据用户的Locale返回结果,为此我需要为正在运行的线程设置cultureInfo(可以通过将适当的区域设置为Thread.CurrentThread.CurrentCulture来设置)< / p>

但是,我不确定在哪里设置此CurrentCulture变量?它应该在代表的定义范围内吗?

此外,我不知道在执行此委托时是否会有新线程。

感谢。

1 个答案:

答案 0 :(得分:1)

每个线程都有自己的文化,如果没有明确定义,则从系统文化中派生出来。

为了在所有线程上拥有相同的文化,您可以使用CultureInfo.DefaultThreadCurrentCulture Property为所有线程设置默认文化。

如果您需要针对不同代表的不同文化,请使用显示/打印值的相同方法更改Thread.CurrentThread.CurrentCulture