如何找到阻止ResourceManager默认返回默认资源文件?

时间:2014-12-27 12:04:14

标签: c# asp.net embedded-resource resourcemanager

除了一个小小的问题之外,我得到了一些在某种程度上运行良好的代码。

我有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;
            }

    }

1 个答案:

答案 0 :(得分:1)

您是否尝试将false作为第三个.GetResourceSet()参数(tryParents)传递,如:

ResourceSet rs = rm.GetResourceSet(cult, true, false);