gpt4 book ai didi

.net - 用于设置 CurrentCulture 的线程创建事件

转载 作者:行者123 更新时间:2023-12-01 03:01:38 24 4
gpt4 key购买 nike

我们的应用程序允许用户更改他们运行它的文化,并且该文化可以与底层操作系统文化不同。我发现这样做的唯一方法是为每个线程设置 Thread.CurrentThread.CurrentCulture 和 Thread.CurrentThread.CurrentUICulture。

唯一的问题是我们必须为每个线程设置文化,并且我们需要记住在创建新线程时执行此操作。如果您将线程设置为另一种文化,然后创建一个新线程,它将获得操作系统的文化,而不是创建它的线程的文化。

我想找到一种更好的方法来做到这一点。我只能想到两件事,但我不知道是否有可能。

  • 在应用程序级别设置文化,以便所有线程默认使用该文化。这可能吗?
  • 我可以订阅任何地方的线程创建事件吗?这样我就可以设置一个处理程序来设置线程创建的文化。

  • 欢迎任何想法或帮助,即使我需要 PInvoke 到 Win32 API。提前致谢。

    编辑:我找到了 this question这是相似的,但没有找到答案。

    最佳答案

    可能不是确切的解决方案,但是如何创建一个负责创建线程的类呢?

    class MyThreadFactory
    {
    public static Thread getThread()
    {
    Thread a = new Thread(..);
    a.CurrentCulture = xxxx;
    return a;
    }
    }

    用法:
    Thread newThread = MyThreadFactory.getThread();

    关于.net - 用于设置 CurrentCulture 的线程创建事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/391766/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com