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

3

我目前正在开发一个dll,它将在未来的项目中使用,并试图填充其中的每个有用的方法,这些方法是在上一个项目中开发的。其中一个我想要重复使用的方法可以使用任何对象集合生成Excel文件,并使用resx资源文件根据对象属性名称获取列标题。

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

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

P.S.:我使用的是Visual Studio 2013,如果相关的话。

2个回答

7

我找到了一个解决方法,可以获得一个“RuntimeResourceSet”对象,它在结构上与字典非常相似(如果您需要特定的字典,则可以轻松地将其转换为字典):

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

然后,您可以通过以下方式获取集合中的项:
var myString = myResourceSet.GetString("MyKey");

希望可以帮到您!

0

我正在使用2个分隔符,并通过split重新创建字典:

Dictionary<string, string> MyDictionary = Resource.MyResourceNme.Split(',').ToDictionary(x => x.Split('|')[0], x => x.Split('|')[1]);

我的资源会长这样:

AUD|SYD,GBP|LON,JPY|TOK

也许有一种更有效的方法来做它(我不喜欢使用两次第二个拆分)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接