- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试实现多文化应用程序,用户可以在其中更改语言、日期格式等。我编写了核心,但它返回异常: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,我不确定我使用的是否正确。你能建议我如何正确地做到这一点吗?
最佳答案
您收到 Instance is read-only
错误,因为您试图通过以下代码更改只读文化的属性。
Thread.CurrentThread.CurrentCulture.DateTimeFormat = europeanDateFormat;
您可以通过其 IsReadOnly
属性检查文化是否只读;内置的是。
相反,您必须克隆/复制当前事件的区域性,对该克隆应用任何更改并将该区域性分配给 CurrentCulture
和/或 CurrentUICulture
当前线程。
var clone = Thread.CurrentThread.CurrentCulture.Clone() as CultureInfo;
clone.DateTimeFormat = CultureInfo.GetCultureInfo("it").DateTimeFormat;
Thread.CurrentThread.CurrentCulture = clone;
Thread.CurrentThread.CurrentUICulture = clone;
关于c# - 在 asp.net 中更改区域性时实例是只读异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56899198/
我创建了一个本地化的 wpf 应用程序。为了在系统中安装应用程序,我使用了 visual studio 提供的 msi 安装程序。安装完成后,我通过运行 commit custom action 命令
我有英语 Windows 版本,目前无法调试它,但我正在将应用程序本地化为俄语和英语两种语言。 据我了解,在 App 构造函数中,以下代码应该足够了: if (Language
我的应用程序在 web.config 中设置了 pt-BR 区域性(日期为 dd-mm-yyyy): 在我的系统上创建的所有日期时间都是正确的格式,但我创建了一个像这样的 Controller 方法
我是一名优秀的程序员,十分优秀!