【发布时间】:2011-01-15 02:58:37
【问题描述】:
我有一个用 C# 编写的应用程序,它没有 GUI 或 UI,而是编写由另一个应用程序(XML 和其他应用程序)解析的文件。
我有一个客户,其 CultureInfo 的 NumberDecimalSeparator 设置为逗号,这会导致浮点数解析错误(PI 最终会为 3,1415)。
我想要一种在应用程序中为所有线程全局设置 CultureInfo 的方法。我试过了:
- (显然)将 CurrentThread.CurrentCulture 设置为 Main() 中的第一行的习惯方法,但它似乎已被重置。
- http://www.codeproject.com/KB/cs/Change_App_Culture.aspx 的变体/扩展
- 对应用程序中显式创建的线程执行相同的操作 (#1)。
更改为使用显式格式不是一种选择(超过 15 万行,大部分由前雇员编写)。
[编辑] 应用程序绑定到一个套接字并处理来自专用客户端的请求。根据请求类型,它会产生不同的处理程序类。
抱歉,当我第一次发帖时,我应该在 #1 中澄清(我虽然)我在所有显式生成的处理程序中都这样做了。
原来我错过了导致问题的线程/处理程序。所以应用程序现在工作正常,但问题仍然是是否可以在所有线程上设置文化。
如果它可以遍历所有线程,它也可以解决问题。所以:
如何获取当前进程中的所有Thread对象(不是ProcessThread)?
【问题讨论】:
标签: c# culture cultureinfo number-formatting