iT邦幫忙

0

C# 如何設定局部區域的所有方法預設 culture,而不影響全局?

c#
  • 分享至 

  • xImage

想要在指定範圍內,工具使用 US culture 其他方法不變使用 CN culture
但目前使用以下修改預設 Thread 的 culture 會影響到其它方法

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");

希望效果,方法1部會影響方法2

public void 方法1()
{
	設定局部預設Culture("en-US");
	生成文件工具包(); //使用en
}

public void 方法2()
{
	生成文件2工具包(); //使用CN
}
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
緯大啊緯大人
iT邦好手 1 級 ‧ 2023-06-07 17:57:43
最佳解答

咦?在方法內獨自設定不就不會影響嗎?
還是說,你想表示這方法結束後,之後的行為都會是剛剛設定的?
就是要再方法結束後切回原culture的感覺?


CultureInfo originalCulture = new CultureInfo("zh-CN");

try {

    方法1();
}

finally {
    // 無論方法1是否成功,都還原回原始的區域設定
    CultureInfo.CurrentCulture = originalCulture;
}


方法2();

public void 方法1()
{
	
    CultureInfo.CurrentCulture = new CultureInfo("en-US");
    
    //dosomething   
    
}

public void 方法2(){
	
    //dosomething  
}



我要發表回答

立即登入回答