除了一个小小的问题之外,我得到了一些在某种程度上运行良好的代码。
我有3个资源文件:
- Resource.da.resx (cultureID = 6)
-Resource.en.resx (cultureID = 9)
-Resource.resx - default
如果浏览器加载并且希望有" en"或" en-US"文化,这种方法很好。但是,如果我要求德语(" de")文化getResourceSet返回默认的资源集,我想阻止,只是发现这个资源集不可用。可以吗?
public bool doesCultureExist(string cultureName)
{
try
{
global::System.Resources.ResourceManager rm =
new global::System.Resources.ResourceManager("Resources.Resource", global::System.Reflection.Assembly.Load("App_GlobalResources"));
var cult = CultureInfo.GetCultureInfo(cultureName);
ResourceSet rs = rm.GetResourceSet(cult, true, true);
if (rs != null)
{
return true;
}
else { return false; }
}
catch
{
return false;
}
}
答案 0 :(得分:1)
您是否尝试将false
作为第三个.GetResourceSet()参数(tryParents)传递,如:
ResourceSet rs = rm.GetResourceSet(cult, true, false);