背景:
我的组件有问题,每次调用特定方法后,该组件都会将当前线程区域性更改为“ en-US”。在导致问题的过程中,例如,由于SqlParameter的CultureInfo也被更改为“ en-US”,因此数据访问层不再起作用,因此无法再将给定的字符串解析为DateTime SqlValue。
可能的解决方案:
因此,其想法是先备份当前线程的区域性,然后再将其恢复到对更改当前线程区域性的特定方法的调用。恢复文化时,我首先检查文化是否已经改变。
问题/问题:
我可以比较备份的对象CultureInfo.Name
,Thread.CurrentThread.CurrentCulture.Name
但也可以使用.Equals()
CultureInfo实例的方法。比较两个CultureInfo实例的更好方法是?是否有第三种/更好的解决方案?
您应该使用(因为它在比较CultureInfo实例时过载)
bool result2 = cultureInfo1.Equals(cultureInfo2);
如本博客所示:http : //www.toolheaven.net/post/2010/07/02/Beware-when-comparing-CultureInfo-instances.aspx
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句