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



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

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

谢谢你在这里帮助我…

注:我正在使用Visual Studio 2013,如果这可能是相关的。

这是我发现的一个变通方法,它允许获得一个"RuntimeResourceSet"对象,它在结构上接近于字典(如果您特别需要字典,它可以很容易地变成一个字典):

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

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

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

我使用了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

也许有更有效的方法(我不喜欢使用两次第二次分割)。

最新更新