我想从 Westwind 中的特定资源集中检索所有值。我尝试使用 GetResourceSet 但它不返回结果。有什么可以做到这一点吗?
谢谢,大卫
我想从 Westwind 中的特定资源集中检索所有值。我尝试使用 GetResourceSet 但它不返回结果。有什么可以做到这一点吗?
谢谢,大卫
这篇文章有点老,但也许我的回答会对你或其他人有所帮助。
我还没有找到一种方法来获取带有 Westwind 值的 ResourceSet 对象,但是我找到了一种加载资源集的键和值的方法。
var resManager = DbRes.GetResourceManager(resourceSetName);
DbResXConverter converter = new DbResXConverter();
var resourceSetDictionary = converter.GetResourcesNormalizedForLocale(resManager, Thread.CurrentThread.CurrentUICulture.Name);
这将返回一个包含资源集所有值的字典。
另请参阅:GitHub - JavaScriptResourceHandler.cs - ProcessRequest()
我使用这个变体从数据库中获取数据。要获取 resx 文件的值,我使用当前程序集:
var resourceSet = new ResourceSet(_resourceSetAssembly.GetManifestResourceStream(resourceSetName));
var resourceSetDictionary = resourceSet.Cast<DictionaryEntry>().ToDictionary(e => e.Key.ToString(), e => e.Value);