【发布时间】:2019-07-05 08:18:24
【问题描述】:
我尝试实现用户能够更改语言、日期格式等的多元文化应用程序。我编写了核心但它返回异常: System.InvalidOperationException:实例是只读的。
switch (culture)
{
case SystemCulture.English:
Thread.CurrentThread.CurrentCulture = new CultureInfo(CultureCodes.English);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(CultureCodes.English);
break;
//another cultures here
}
switch (cultureFormat)
{
case SystemDateFormat.European:
var europeanDateFormat = CultureInfo.GetCultureInfo(CultureCodes.Italian).DateTimeFormat;
Thread.CurrentThread.CurrentCulture.DateTimeFormat = europeanDateFormat;
Thread.CurrentThread.CurrentUICulture.DateTimeFormat = europeanDateFormat;
break;
//another cultures here
}
我在互联网上找到了一些信息,我必须使用我的文化的新实例对象,我更改了我的代码只是添加:
CultureInfo myCulture;
switch (culture)
{
case SystemCulture.English:
myCulture= new CultureInfo(CultureCodes.English);
break;
}
然后,在开关之外:
Thread.CurrentThread.CurrentCulture = cultureInfo;
我不熟悉 Threads,我不确定我使用的是否正确。 你能建议我如何正确地做到这一点吗?
【问题讨论】:
标签: c# .net asp.net-mvc currentculture