诸如string.Format()或.Parse()之类的某些方法需要IFormatProvider。您如何提供?
最佳答案
我总是在(ASP.NET)应用程序中将CurrentThread.Current(Ui)Culture设置为正确的值。通常根据用户的首选项或配置文件中存储的默认值(如果用户尚未定义首选项)在每个请求的开始时执行此操作。
在设置了当前线程的这些属性之后,您可以停止考虑它-数字,日期等将被正确格式化/解析,即使没有为这些方法提供IFormatProvider。否则,您必须确保将正确的IFormatProvider传递到各处。
以库为例,我认为它应该仅依赖于应用程序来处理这些事情,而不必担心这些事情。