使用 GetGlobalResourceObject 的资源信息值为空

Posted

技术标签:

【中文标题】使用 GetGlobalResourceObject 的资源信息值为空【英文标题】:Resource info value is empty using GetGlobalResourceObject 【发布时间】:2020-04-10 13:22:32 【问题描述】:

我创建了一个名为 Resource.fr-FR 的 resx 文件,其中包含法国的以下条目

**

Name       Value
Greeting   Bonjour

**

然后我在页面加载时执行代码,文化设置为fr-FR

lblvalue.Text = (string)GetGlobalResourceObject("Resource", "Greeting");

但它始终默认为英文(默认 Hello 文本)。

然后我尝试了

var FrenchCulture= new System.Globalization.CultureInfo("fr-FR");
System.Globalization.CultureInfo.DefaultThreadCurrentCulture = FrenchCulture;
System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = FrenchCulture;

lblvalue.Text = (string)GetGlobalResourceObject("Resource", "Greeting", FrenchCulture);

但这次我明白了

No overload for method 'GetGlobalResourceObject' takes 3 arguments

我哪里错了?

【问题讨论】:

【参考方案1】:

您需要更改当前线程的当前文化而不是默认线程的默认文化。-

  var FrenchCulture= new System.Globalization.CultureInfo("fr-FR");
   Thread.CurrentThread.CurrentCulture = FrenchCulture;
   Thread.CurrentThread.CurrentUICulture = FrenchCulture;

【讨论】:

以上是关于使用 GetGlobalResourceObject 的资源信息值为空的主要内容,如果未能解决你的问题,请参考以下文章