如何将resx资源文件转换为字典

时间:2014-07-29 09:07:38

标签: c# .net dll dictionary resx

我目前正在开发一个将在未来项目中使用的dll,并试图用最后一个开发的每个有用方法填充它。我想重新使用的其中一种方法允许生成包含任何对象集合的excel文件,并使用resx资源文件根据对象的属性名称获取列标题。

现在,我的问题是我无法访问甚至检查库中是否存在此类文件。一个可能的解决方法是将此资源文件转换为字典并将其作为参数传递,但我没有找到这样做的方法或有关该主题的任何文档。有关于此的任何提示或建议吗?

感谢您在这里帮助我......

P.S。 :我正在使用Visual Studio 2013,以防可能相关。

2 个答案:

答案 0 :(得分:5)

这是我找到的解决方法,它允许获取一个“RuntimeResourceSet”对象,它在结构上接近一个字典(如果你特别需要一个字典,它可以很容易地变成一个):

var myResourceSet = MyResource.ResourceManager.GetResourceSet(CultureInfo.CurrentCulture, true, true);

然后,你可以这样得到集合的项目:

var myString = myResourceSet.GetString("MyKey");

希望这会有所帮助!

答案 1 :(得分:0)

我正在使用2个分隔符,我使用split:

重新创建字典
Dictionary<string, string> MyDictionary = Resource.MyResourceNme.Split(',').ToDictionary(x => x.Split('|')[0], x => x.Split('|')[1]);

MyResource看起来像:

AUD|SYD,GBP|LON,JPY|TOK

也许有一种更有效的方式(我不喜欢使用两次分割)。