C# 如果找不到密钥,如何阻止ResourceManager默认使用当前区域性

C# 如果找不到密钥,如何阻止ResourceManager默认使用当前区域性,c#,silverlight,silverlight-4.0,localization,resx,C#,Silverlight,Silverlight 4.0,Localization,Resx,这个问题不言自明,但这里有一个复制的例子 我有三个resx文件: Translations.resx Has code generation enabled and no key-value pairs 要从法语资源获取资源,我可以调用: Translations.ResourceManager.GetString("String1", new CultureInfo("fr")); 这将按预期返回Valeur1。将参数更改为String2将返回Value2,该值紧随其后 如果密钥不

这个问题不言自明,但这里有一个复制的例子

我有三个resx文件:

Translations.resx
  Has code generation enabled and no key-value pairs


要从法语资源获取资源,我可以调用:

Translations.ResourceManager.GetString("String1", new CultureInfo("fr"));
这将按预期返回
Valeur1
。将参数更改为
String2
将返回
Value2
,该值紧随其后


如果密钥不在我提供给
GetKey
的特定区域性中,我想做的是关闭此进程并允许返回null。有可能吗?如果有,我该如何做到这一点?

我认为你做不到。我想你能做的最好的事情就是使用一个空字符串作为默认资源,并在单独的
.fr.resx
.de.resx
en.resx
等文件中为你支持的每种语言提供一个合适的字符串。
Translations.fr.resx
  String1 : Valeur1
Translations.ResourceManager.GetString("String1", new CultureInfo("fr"));